To Do: * Test for ComponentState.{init,destroy} * Registry tests * Registry doc * Implement "DriverFor" support * General usage documentation * Uncouple component-provided names from the library * Automatically-updated singletons * Registry: get all component states * Document exceptions Other ideas (maybe later if needed): * Unregistering components * Hierarchy of registries