def call
      return broadcast(:invalid) if membership.blank?
      return broadcast(:invalid) if membership.user_group != user_group

      transaction do
        remove_membership
        send_notification
      end

      broadcast(:ok)
    end
def call
      return broadcast(:invalid) if membership.blank?
      return broadcast(:invalid) if membership.user_group != user_group

      transaction do
        remove_membership
        send_notification
      end

      broadcast(:ok)
    end
Public: Initializes the command.

 membership - the UserGroupMembership to be accepted.
 Executes the command. Broadcasts these events:

 - :ok when everything is valid.
 - :invalid if we couldn't proceed.

 Returns nothing.