This refactoring patch separates the preparation of the fetch event object from its dispatching, so that consumers would be able to dispatch the event asynchronously.