@disconcision Have you played with Observable? It's a nice implementation of at least part of this kinda thing imo