Standardize controller before refactoring the save method.
Refactored to remove coupling between quiz creation/update and the creation of new category and new subject for a quiz. The quiz form has a selection list for category and subject, but as a convenience there are also text fields where a user can create a new category and/or new subject on the fly. If these fields were filled in, the new data would be created via a before_save callback on the quiz model. This violated the Single Responsibility Principle, since quiz should not have any responsibility for or knowledge of creating new categories or subjects. This has now been moved into a QuizSaver service class instead.