Is there a need to involve the concept of a payload class within the CoordSignature class? Do you have a reason for not defining a ```match(self, other, error_on_mismatch)``` method paralleling your approach in the CubeSignature class? Given a payload knows how to produce the corresponding CoordSignature and you are only using the parts of the payload that go into the signature my gut says you should be matching against that object.