If one was to write a new Service for ServiceManager, would the base class be Service, or AbstractService? 

I see two conventions in the source code.  I guess one is the "old" convention, and the other is the "new" convention but I don't know which is which.

It certainly seems that AbstractService is the better choice, because several pure virtual functions from Service have default implementations there, but I just want to make sure this is the right choice.