Trigger this event.

		Any passed in args/kwargs are passed to the event handlers - if the event
		handlers cannot accept those arguments then they will cause an exception!

def trigger(self, *args, **kwargs):
		"""Trigger this event.

		Any passed in args/kwargs are passed to the event handlers - if the event
		handlers cannot accept those arguments then they will cause an exception!
		"""
		current = self.name.split('/')
		while current:
			name = '/'.join(current)
			current.pop()
			if name in self.context.handlers:
				self.all_handlers += [(name, h) for h in self.context.handlers[name]] 
				if name == self.name:
					self.handlers += self.context.handlers[name]

		for name, handler in self.all_handlers:
			res = handler(self, *args, **kwargs)
			self.all_executed += 1
			self.all_result.append(res)
			if name == self.name:
				self.executed += 1
				self.result.append(res)
			if self.stopped:
				break

		self.all_handlers = [h for name, h in self.all_handlers]