<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_channels(cls, installation_id, channels_to_add=set(), channels_to_remove=set(), **kw):
 """ Allow an application to manually subscribe or unsubscribe an installation to a certain push channel in a unified operation. this is based on: https://www.parse.com/docs/rest#installations-updating installation_id: the installation id you'd like to add a channel to channels_to_add: the name of the channel you'd like to subscribe the user to channels_to_remove: the name of the channel you'd like to unsubscribe the user from """

        installation_url = cls._get_installation_url(installation_id)
        current_config = cls.GET(installation_url)

        new_channels = list(set(current_config['channels']).union(channels_to_add).difference(channels_to_remove))

        cls.PUT(installation_url, channels=new_channels)