Bump dependencies on core and composer-plugin.
Reindent composer.json.
Cleanup event registration.
Fix author annotations.
Add factory.