Added events
Updated docblocks
Updated test cases