adapt FakeDemultiplexer to return a future