Receiver tracking

This request addresses the need to manage the life cycle of receiver components, such that receivers are stopped when the context is reset.  The approach taken here is to introduce life cycle management into the Context.  The context now provides the means to register a component whose life cycle is to be managed.  Each registered component is started, if necessary, and when the context is reset, all registered components are stopped and removed from the context.

Would appreciate review and feedback before this is merged.