'Adds the data listed in ``contributes`` to the workflow\'s context.
By default, the context is simply updated with all the data
returned by the action.
Note that even if the value of one of the ``contributes`` keys is
not present (e.g. optional) the key should still be added to the
context with a value of ``None``.'

def contribute(self, data, context):

    if data:
        for key in self.contributes:
            context[key] = data.get(key, None)
    return context
