More encapsulation and abstraction work on the baseinterface. Not quite there.