allow callbacks to defer
add ReactorRunner