1st pass at evaluating sensors in the schedule event loop.
There's a fair amount of code duplication, but can start combining if this ends up being the right approach.
This doesn't allow for customization of the evaluation interval or provide for threading to mitigate for latency from one sensor evaluation to affect other sensors / schedules.