It can mimic almost any style you want: procedural, object-oriented, functional, etc.
In this presentation, I will take a simple problem and will solve it using different approaches.
With each step, we will see the power of each approach to take the complexity away,
procedural (imperative) style
async processing using promises
async processing using event emitters
advanced topics: transducers and streams
reactive programming using event streams
Any team looking to improve its code should attend this presentation. Making a single leap from an object-oriented approach to reactive programming is too difficult, but you can make it step by step.