With a non-blocking persistence layer in place, it's time to make the APIs in the core services non-blocking as well. We need to make the following changes:
Change the APIs so that they only return reactive data types
Change the service implementations so they don't contain any blocking code
Change our tests so that they can test the reactive services
Deal with blocking code—isolate the code that still needs to be blocking from the non-blocking code