add Scheduler::recordNRT that takes external io as argument