Refactoring and Test updates
Changed ChannelObject to ChannelAbstract and made Channels implement the ChannelInterface class