Observerパターン

Wikipediaそのまんま。

class Observer():
  def __init__(self,observable,config={}):
    observable.register(self)
    self.config = config
  def update(self,param={}):
    print param

class Observable():
  def __init__(self):
    self.observers = []
  def register(self,observer):
    self.observers.append(observer)
  def notify(self,type,param={}):
    for obs in self.observers:
      obs.update(param)

javascriptのaddEventListener系とはちょっと使いかたがちがう。
おもしろいね。