def METHOD_NAME(self, signal_event):
    """Parse a Spiff signal event"""
    signal_ref = signal_event.get('signalRef')
    if signal_ref is not None:
        signal = one(self.doc_xpath(f'.//bpmn:signal[@id="{signal_ref}"]'))
        name = signal.get('name')
        extensions = self.parse_extensions(signal)
        expression = extensions.get('payloadExpression')
        variable = extensions.get('variableName')
    else:
        name = signal_event.getparent().get('name')
        expression, variable = None, None
    return SignalEventDefinition(name, expression=expression, variable=variable)