'Initializes the trade. This is called when part A tries to
initiate a trade with part B. The trade will not start until
part B repeats this command (B will then call the self.join()
command)
Args:
part_a (object): The party trying to start barter.
part_b (object): The party asked to barter.
Notes:
We also store the back-reference from the respective party
to this object.'

def __init__(self, part_a, part_b):

    self.part_a = part_a
    self.part_b = part_b
    self.part_a.cmdset.add(CmdsetTrade())
    self.trade_started = False
    self.part_a.ndb.tradehandler = self
    self.part_a_offers = []
    self.part_b_offers = []
    self.part_a_accepted = False
    self.part_b_accepted = False
