Changed Implementation of Subscribing to events and Written more concise tests.