Ну, во-первых, а почему, собственно, хранить всё в store - не вариант? Где-то это хранить всё равно придётся. Я бы хранил в store.
Но если всё же хочется посложнее, то можно сделать под это событие свой Subject (из rx.js). Те компоненты, которым нужно знать об этом событии подписываются на этот Subject, а сервис, которые получает данные вызывает Subject.next с данными о лайке. Отличие Subject от Observable в том, что у Subject может быть сколько угодно подписчиков и все они узнают о событии. Похоже, именно это вам нужно? Единственное, что меня тут смущает - не будет ли такое решение ещё более ресурсоёмким, чем хранение всех данных в store.