It is written in the Flow-based Programming paradigm where calculations of ball's position, velocity etc are done by separate modular components running in their own threads of computation (in this case, core.async go processes). These components are connected using signals (implemented using core.async channels) to form a network - like an electronic circuit - to build the complete game. The sign