public static IObservable <Unit> AsyncPulse(this IDevice <bool> device)
        {
            //TODO rein
            var ob = new Subject <Unit>();

            device
            .AsyncWriteTrue()
            .Delay(TimeSpan.FromSeconds(1))
            .Subscribe(x => device
                       .AsyncWriteFalse()
                       .Subscribe(y => ob.OnNext(new Unit())));
            return(ob.Take(1));
        }