DEV: Guesses the next payload class from layer bonds.
        Can be overloaded to use a different mechanism.

        :param str payload: the layer's payload
        :return: the payload class

def guess_payload_class(self, payload):
        """
        DEV: Guesses the next payload class from layer bonds.
        Can be overloaded to use a different mechanism.

        :param str payload: the layer's payload
        :return: the payload class
        """
        for t in self.aliastypes:
            for fval, cls in t.payload_guess:
                if all(hasattr(self, k) and v == self.getfieldval(k)
                       for k, v in six.iteritems(fval)):
                    return cls
        return self.default_payload_class(payload)