atechart. Specifically, the following state machine
      features should be supported:

      <ul>
        <li>Hierarchical (composite, nested) states</li>

        <li>Orthogonal (concurrent) states</li>

        <li>Entry-, exit- and transition-actions</li>

        <li>Guards</li>

        <li>Shallow/deep history</li>
      </ul>
    </li>

    <li>produce a customizable reaction when a C++ exception is propagated
    from user code</li>

    <li>support synchronous and asynchronous state machines and 