ServerApp uses the Actor model and Actor system. For those of you not familiar with the actor-based system, it's commonly used in parallel processing and distributed computing. It allows scalability. Also, note that we used spray-can (https://github.com/spray/spray-can) as an HTTP client because it is light in weight and asynchronous.