Move form validation to User model.
Alter form validation to use injection dependency.

Instead of static methods and variables, the Model now uses a public
function that operates on attributes of the user object. In the
UserController's constructor, the user object is protected. All inputs
are attributes of this object. The error messages are also returned as
an attrubute.