Classic problem in concurrent courses. Learning deadlock and synchronization. Implementing a solution with Akka and Scala