The concept of functions is to send one set parameters and receive an one result that corresponds to the input back. 
This concept is widely used from the pattern we use in our programming languages over library-api’s to http request-response. The mathematical view on function to not have any side effects the real world almost every function has side effects like log files or storage of data for later retrieval.
Our current api concept restricts us to transport these side channel information. By extending our current api concepts with streamed input and output values, we could try solve some hard problems like versioning or consolidated logs.
Especially javascript asynchronicity and patterns like Promises or RxJS enable us to build api’s which give us the possibility to model the component time into our api’s.
