Using new AbstractService to reduce code for the SingleThreadScheduler