It writes the codebase one at a time to the local state object after checking that this codebase is newer than what is already in the local state object, it is not written back to the db.

I was assuming that gotChange() may be called before the state is loaded when calling startService() on the parent class. If this feature is moved into BaseBasicScheduler then the state object can be loaded before changes can be consumed.