Refactoring to push as much code as possible into the BaseApi.cs, in order to facilitate development of other API (other than staff)