Visit Scheduler (code preview)

@dannyroberts @czue @millerdev - getting close to being done with this, feel free to start reviewing.