Refactoring the model binder