Rewritten everything using Akka actors