'Add contents to layout,
- can be overwritten in subclasses (e.g. to dynamically
create channels)
@param contents: the contents to insert
@param channel: the channel where to insert the contents,
using the default channel if None
@param position: the position within the channel (numeric),
append to channel if None'

def add_widget(self, widget, channel=DEFAULT, position=None):

    if (channel is DEFAULT):
        channel = self.DEFAULT_CHANNEL
    channel_ = self.channels.get(channel)
    if (channel_ is not None):
        channel_.add_widget(widget, position=position)
