This repository contains some code examples that demonstrate how the concepts of time and randomness can be handled in a purely functional fashion in Java. The implementation heavily leverages the RxJava 2 API for abstracting the state-changing elements of the code in a functional-reactive way.