Moving the socket file deletion to another MR would preclude having tests for it, because we'd have no way of actually creating a socket file to delete (this is done by `bind`). It would also cause almost all of the tests in this MR to fail, because the tests reuse the same socket path and we'd have no way to delete the existing socket files from previous tests.
I can experiment with different implementations for deletion; I admittedly don't yet fully understand the codepath that file deletion takes and there may well be a cleaner way of doing this.