refactor base service class to allow execution of OnStart