Quote:
Now I've decided to try and do things properly and have added the logic and fields into a Model.
Wrong! The model is the model, your logic belongs in a separate business logic layer or in the controller - but not in the model.
The controller should pass the incoming, validated data to the layers below.