WaitableEvent now requires autoreset or manual reset flag (and adds manual reset functionality)