This always scheduled in the future with `timeout`. Shouldn't it be the time until next timeout? 

Let's say timeout is 1000ms and I get an onNext call every 50ms. This code seems to schedule each action to execute 1000ms in the future even if it comes in 950ms since the last onNext was permitted through.