===============================
Rule-based Execution of Actions
===============================
  ($Id$)
  >>> from zope import component
  >>> from cybertools.composer.rule.base import RuleManager, Rule, Action
  >>> from cybertools.composer.rule.base import EventType, Event
  >>> manager = RuleManager()
  >>> loginEvent = EventType('login')
  >>> checkoutEvent = EventType('service.checkout')
  >>> checkoutRule = Rule('regcheckoutmail', manager=manager)
  >>> checkoutRule.events.append(checkoutEvent)
  >>> checkoutRule.actions.append(Action('message',
  ...                   parameters = dict(messageName='confirmation_mail')))
  >>> checkoutRule.actions.append(Action('sendmail'))
  >>> manager.rules.append(checkoutRule)
  >>> manager.handleEvent(Event(loginEvent))
  >>> client = object()
  >>> manager.handleEvent(Event(checkoutEvent, client))