One of the (if not *the*) best actual gameplay example I’ve seen online so far, congratulations. I’m slowly integrating UniRx in my work, and besides its terribly long method names (ObjectiveC anyone?) one thing that has confused me at the start was the distinction between stream and observable. First I thought they were the same (as you affirm in the text), but then I read somewhere that observable is the provider of the stream, while the subscriber is a consumer of the stream — meaning “stream” is basically the flow of data — , and it all instantly made sense to me. This might not be the most precise definition, as people who know way better than me affirm the pull-based nature of streams is inferior to the push-based observables, and others say they’re convertible thus basically the same (https://stackoverflow.com/questions/30216979/difference-between-java-8-streams-and-rxjava-observables), but I just thought I’d drop this here in the hope of helping someone trying to wrap its mind around the concepts like me.