The core concept of Marble.js assumes that almost everything is a stream. The main building block of the whole framework is an Effect, which is just a function that returns a stream of events. With the big popularity of RxJS Observable, you can create a referential transparent program specification made up of functions that may produce side effects like network, logging, database access, etc. Usin