Given there are 2 distinct tasks here, it is possible to split this class up into a few? One that creates channel_groups and one that creates channels, perhaps?