A second pass at async pipelines https://blog.jermdavis.dev/posts/2021/a-second-pass-at-async-pipelines