Add an event service provider.
Use new providers.
Update from upstream
Fix namespace
Update version