code: def template(cls, address=None, target=None, commandtuple=None,
                   userdata=None, cmd2=-1, flags=None):
          
          msgraw = bytearray([0x02, cls._code])
          msgraw.extend(bytes(cls._receivedSize))
          msg = ExtendedReceive.from_raw_message(msgraw)
  
          if commandtuple:
              cmd1 = commandtuple.get('cmd1')
              cmd2out = commandtuple.get('cmd2')
          else:
              cmd1 = None
              cmd2out = None
  
          if cmd2 is not -1:
              cmd2out = cmd2
  
          msg._address = Address(address)
          msg._target = Address(target)
          msg._messageFlags = MessageFlags(flags)
          msg._cmd1 = cmd1
          msg._cmd2 = cmd2out
          msg._userdata = Userdata.create_pattern(userdata)
          return msg
docs: Create message template for callbacks.