Disposable | The Disposable interface is used when components need to
deallocate and dispose resources prior to their destruction. |
Executable | The Executable can be implemented by components that need to perform
some work. |
Initializable | The Initializable interface is used by components that need to
allocate resources prior to them becoming active. |
Startable | The Startable interface is used when components need to
be "running" to be active. |
Suspendable | The Suspendable interface is used when a component
will need to temporarily halt execution of a component. |