Get execution from Listener

In my process I need to manually manage my process variables, so I’ve created a Listener that is called at a specific event. I need, inside this listener, to get the Map of process variables, but I only have a DelegateTask object to use. How can I get the execution from it? I can only get the executionId, then I’m stuck.
Also, how can I pass parameters to my TaskListener and call a specific method of it?