Refactoring to introduce Base Controller