I think it is better if `check_for_events` gets called after `run_scheduler` completes (i.e. after its deferred is fired). This way events will not be piled up if for some reason `run_scheduler` takes > 1 second.