NB: I _only_ implement IEngineContext in slave at the moment, it's the only one that has anything special to do with the single method that's in the interface as it stands..

However, if we add all other engine only methods to IEngineContext, e.g. queryUserDescription(), then IEngineContext will need implementing more widely and those implementation moved