Use async read instead of a source

It does exactly the same internally anyway.