A system comprising at least two devices (240, 250, 260, 210, 220, 230), one device comprising one or more processors configured to: receive, from one or more source devices, first information relating to a plurality of programs provided by a media content service provider, the plurality of programs including media content; generate a program schedule based on the first information, the program schedule identifying at least a program of the plurality of programs; publish, for delivery to at least one other device (260, 210, 220, 230) of the system, the program schedule for enrichment using second information that is different from the first information, the at least one other device (260, 210, 220, 230) of the system is configured to subscribe to receive the published program schedule; receive from the at least one other device (260, 210, 220, 230) the second information based on publishing the program schedule, wherein the at least one other device (260, 210, 220, 230) is configured to aggregate the second information from a plurality of external source devices that are different from the one or more source devices and is further configured to provide the second information to the one device, determining that more than a threshold quantity of the plurality of external source devices provide the second information that is different from the first information; and generate an enriched program schedule using the program schedule and the second information replacing the first information based on determining that more than the threshold quantity of the plurality of external source devices provide the second information that is different from the first information. receive, from one or more source devices, first information relating to a plurality of programs provided by a media content service provider, the plurality of programs including media content; generate a program schedule based on the first information, the program schedule identifying at least a program of the plurality of programs; publish, for delivery to at least one other device (260, 210, 220, 230) of the system, the program schedule for enrichment using second information that is different from the first information, the at least one other device (260, 210, 220, 230) of the system is configured to subscribe to receive the published program schedule; receive from the at least one other device (260, 210, 220, 230) the second information based on publishing the program schedule, wherein the at least one other device (260, 210, 220, 230) is configured to aggregate the second information from a plurality of external source devices that are different from the one or more source devices and is further configured to provide the second information to the one device, determining that more than a threshold quantity of the plurality of external source devices provide the second information that is different from the first information; and generate an enriched program schedule using the program schedule and the second information replacing the first information based on determining that more than the threshold quantity of the plurality of external source devices provide the second information that is different from the first information.