Implement a thread-safe money transfer | Revolut Interview Question