Remove specialized component types.
Remove specialized component types.
Support event-based component hooks via the event bus.
Clean up code changes.
Improve error handling and add new integration tests.
Clean up some integration tests.