<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_member(self, address, **kwargs):
 """ Add a member to a group. All Fiesta membership options can be passed in as keyword arguments. Some valid options include: - `group_name`: Since each member can access a group using their own name, you can override the `group_name` in this method. By default, the group will have the name specified on the class level `default_name` property. - `display_name` is the full name of the user that they will see throughout the UI if this is a new account. - `welcome_message` should be a dictionary specified according to the docs. If you set it to ``False``, no message will be sent. See http://docs.fiesta.cc/list-management-api.html#message for formatting details. .. seealso:: `Fiesta API documentation <http://docs.fiesta.cc/list-management-api.html#adding-members>`_ """

        path = 'membership/%s' % self.id
        kwargs["address"] = address

        if "group_name" not in kwargs and self.default_name:
            kwargs["group_name"] = self.default_name

        response_data = self.api.request(path, kwargs)
        if 'user_id' in response_data:
            user_id = response_data['user_id']
            return FiestaUser(user_id, address=address, groups=[self])
        return None