Add ControllableObservable

a la `Subject` in Rx