Reimplement timedqueue as timedchannel