Factored out Chan and Var from Reactive module