Events accept a version number, instead of a provider
Moved interfaces into a different assembly