I want to know the difference between difference between instance.vars.someVar and vars.someVar.
There is a good documentation on this:
instance.vars => global variable for a workflow
vars => part of each transition (e.g. can have different values if you have a fork and parallel paths)