code: def unbind(self, callback, event_name = None):
  		
  		if event_name is None:
  			for name in self.handlers.keys():
  				self.unbind(callback, name)
  			return
  
  		if callback in self.handlers[event_name]:
  			self.handlers[event_name].remove(callback)
docs: Unbind a callback from an event
  
  		Params:
  			callback (callable):
  				Callback to unbind
  			event_name (string):
  				If None (default) this callback is removed from every event to
  				which it's bound.  If a name is given then it is only removed from
  				that event, if it is bound to that event.