This shouldn't affect the behavior of Deucalion at all, but it allows us to clean up a lot of unnecessary duplication of code by having the server impl handle all of its internal state.
Additionally, this PR adds a bunch of tests to ensure the stability of the server and adds more log lines around the shutdown logic of the server.
This shouldn't affect the behavior of Deucalion at all, but it allows us to clean up a lot of unnecessary duplication of code by having the server impl handle all of its internal state.
Additionally, this PR adds a bunch of tests to ensure the stability of the server and adds more log lines around the shutdown logic of the server.