Fixed views
Mark class members as virtual to support mocking
Fixed registration controller to user the model instead of persisting the user directly