The idea is to have variables that are inferred from other variables that may change over time be automatically kept in sync.
This is widely used in Angular where HTTP requests are represented via cold observables. It's also in general really useful when you want to react to events and apply extra properties, like rate-limiting the amount of times you react to them etc. I found I really liked the pattern, thus the library. It shines a lot more of you have an async event loop of course since then you do not need things like `completeBlock`/`nextBlock`/`doWork` since you can rely on the loop to just run the work on the futures _eventually_ , but you can make it work like this as well.
