scheduler: scheduling algo takes, not closes over, state