any object with: 'act' -> (self, x, y) x/y is where it is, runs every turn 'use' -> (self, x, y) x/y is where it was targeted, runs when used 'put': just marks an object as droppable