Our server-side logic has been difficult to test because we had to test it over the network. Now that we’ve extracted out our Socket.IO abstraction, we can modify our server logic so it doesn’t depend on network code. That should simplify things. We start our chapter by reviewing the codebase and making a plan.