Refactored AbstractBaseController