<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_subscription(self, channel, callback_function):
 """ Add a channel to subscribe to and a callback function to run when the channel receives an update. If channel already exists, create a new "subscription" and append another callback function. Args: channel (str):
 The channel to add a subscription too. callback_function (func):
 The function to run on an update to the passed in channel. """

        if channel not in CHANNELS:
            CHANNELS.append(channel)
            SUBSCRIPTIONS[channel] = [callback_function]
        else:
            SUBSCRIPTIONS[channel].append(callback_function)
        # If a channel gets added after subscription has already been called
        # call subscribe on the individual channel, here.
        if self._subscribed:
            _LOGGER.info("New channel added after main subscribe call.")
            self._pubnub.subscribe().channels(channel).execute()