Initial event class and tests
Rewrite usage documentation and test-drive new lib