ITimeoutable Component
Allows components to have timeouts.
The component will be deleted from the database on expiration.
Note: Components inside groups cannot have timeouts.
Timeout cancellation
The timeout will be canceled once a component has been deleted, including if the component was set to a single use.
Component deletion
If the component is a group, then all of its owned components will also be deleted.
If the component is inside a group, then all the group's components will also be deleted.