This houses the Initializable, Startable, and Resumable interfaces. I'm pretty happy with it, but we should consider a couple of points:
1) are Initializable and Disposable separate concerns? If so we should split the interface. If not, then we will leave it alone 2) We have determined that start() and stop() apply to the same concern of an active component. We should explicitly state that the Startable interface is designed to let an active component know when they can start background execution threads and when to stop them safely. We should also state as a contract that stop()ing a component MUST NOT FAIL! This preculdes the necessity of an exception at this point. It also makes it the responsibility of the component to clean up any expensive resources like threads and sockets successfully. - The container has no way of nowing what system resources a component takes if they are not retrieved from other components. "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>