[refactor] We need to allow async processing of the data.