Reactive Mesh allows for functional reactive programming (FRP) in Java by composing functions reactively on events rather than pulling events. FRP is readable, avoids callback hell, and enables easy asynchronous computations. However, there are still problems to solve around painless communication across asynchronous boundaries, non-blocking push models to avoid out of memory errors, backpressure, and interoperability between different reactive implementations through standards like Reactive Streams. Popular reactive implementations discussed include RxJava 1.x & 2.x, Reactor Core, Akka Streams, and Agera.