Going with revised event model (1x per tick, keep evaluating while pending)