Major code refactoring

Outsourcing all objects into an own module. Also added a length property
to channelList.channels and added tests for it.