Fixed the test suite, and added Mocks
Added Event support