Abstract base implementations for the kernel services. These classes my also be used for implementing plugability in higher layers of the tool architecture.