'Setup the class with all the given arguments.
:param self: A Deauthentication object.
:param data: Shared data from main engine
:type self: Deauthentication
:type data: dictionary
:return: None
:rtype: None'

def __init__(self, data):

    self._observed_clients = list()
    self._deauthentication_packets = list()
    self._should_continue = True
    self._non_client_addresses = constants.NON_CLIENT_ADDRESSES
    self._data = data
    self._is_frenzy = False
    if data.target_ap_bssid:
        self.packets_to_send = self._craft_packet(self._data.target_ap_bssid, constants.WIFI_BROADCAST, self._data.target_ap_bssid)
    else:
        self._is_frenzy = True
        self.packets_to_send = []
