Imporve the events.

Remove the old event calsses. Add the new ones. Change all factory calles to the new one with the service container.