Refactor WaitEvent and WaitEventTimeout to return Events instead of taking pointer to Event interface
Refactor PeepEvents not to take numevents as an argument as it is implicitly given with the events slice