make BaseController#execute_observers public, callable from dispatcher