class Signal(object):

    def __init__(self):
        self._handlers = []

def connect(self, handler):
    self._handlers.append(handler)

def fire(self, *args):
    for handler in self._handlers:
        handler(*args)
Managing Items in an Object Oriented game