Added an abstract class for user connections so it can be extended if
the consumer wants to do so.