Abstract Connection and Server.

Implements Connection as an abstract.
Implements Server as an abstract.

Updates some interface to fit better.