Cleanup, added tests
Refactor tests to move coverage into core library
Store events as strings instead of maps