Refactor usage of the DataCache so that infrastructure is properly decoupled and code duplication is reduced.