Describe the architecture of the automation framework you have used in your previous project. Why was it designed that way?