Lift-based Rx implementation in JavaScript