rewrite with queue to allow re-entrance

return HasMore if a node want to emit more values
somehow working multi-source
fix timer
simplify run once
verbose log for SetInput
fix typo on Register
reduce closed