implemented looking and inventory
events now use callbacks instead of convoluted dictionary state matching and modification

Note: still need to activate events via "use" action. Maybe we can store the items that are currently being used together in a "used" list, then check this in the event check callback.