this will not be enough for preloaded data but looks good so far.

you'll need to add tests too.

Personally I would add a method to DropChannelsMixin and rename DropChannelsMixin to PickDropChannelsMixin to avoid an extra class.