Output booleans are now initialized (to false). Event::execute is now called directly from mainloop. Cycles are iterated once the event is reset to avoid mismatch in cycles in execute and reset in the same iteration. Execute is public.