Generating more freedom in implementing MVC