Changing inventory event listener so location and other values are local to each method, should be accurate for each listener and no chance of re-use