I like my design on this, but this is the type of thing that is a candidate for async_series