Refactors event firing
Updates initializer name
Adds event handling
Updates Subscription to reuse exisiting #unsubscribe method