Refactoring to use upgrade processes, starting to implement TCPServer