More async, less sync. This method might become a bit cleaner when we use Akka futures.