1. A computer-implemented method comprising: receiving, by a data processing engine of an aggregation server, a user selected content from the user via a client agent; receiving, by the data management engine of the aggregation server, a request from the user via the client agent requesting that a narrative associated with the selected content be generated; identifying, by the data management engine of the aggregation server, a topic from the content; obtaining, by the data management engine of the aggregation server, events associated with the topic from one or more sources; aggregating, by the data management engine of the aggregation server, the events from the one or more sources based on the identified topic; receiving the aggregated events by a data processing engine of the aggregation server from the data management engine of the aggregation server; processing, by the data processing engine, the aggregated events to remove duplicate content, wherein processing the aggregated events includes normalizing the aggregated events using timestamps and natural language processing; starting generation, by a narrative generation engine of a narrative generation server, the narrative of the topic using pattern recognition on the aggregated events; prior to finalizing the narrative for transmission, obtaining, by the narrative generation engine of the narrative generation server, a first time threshold associated the user that establishes whether the generation of the narrative is to continue or is to be finalized for transmission to the user, and detecting, by the narrative generation engine of the narrative generation server, that the first time threshold has been exceeded; in response to detecting that the first time threshold has been exceeded, finalizing, by the narrative generation engine of the narrative generation server, the narrative for transmission, and transmitting, by the narrative generation engine of the narrative generation server, the narrative for presentation to the user; after finalizing and transmitting the narrative, obtaining, by the narrative generation engine of the narrative generation server, a second time threshold associated with the user that establishes whether to update the narrative over a period of time after the narrative has been transmitted to the user, and detecting, by the narrative generation engine of the narrative generation server, that the second time threshold has not been exceeded; and in response to detecting that the second time threshold has not been exceeded, updating, by the narrative generation engine, the transmitted narrative over the period of time.