Text this: Reactive Imperative Programming with Dataflow Constraints.