class VoiceModalityComponent implements MMIEventListener, SessionListener {

    @Override
    public void receivedEvent(final DecoratedMMIEvent evt,
            final CallMetadata data) {
        final LifeCycleEvent event = evt.getLifeCycleEvent();
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("received new MMI event: " + event);
        }
        final Object channel = evt.getChannel();
        if (event instanceof PrepareRequest) {
            final PrepareRequest request = (PrepareRequest) event;
            prepare(channel, request, data);
        } else if (event instanceof StartRequest) {
            final StartRequest request = (StartRequest) event;
            start(channel, request, data);
        } else if (event instanceof CancelRequest) {
            final CancelRequest request = (CancelRequest) event;
            cancel(channel, request);
        } else if (event instanceof ClearContextRequest) {
            final ClearContextRequest request = (ClearContextRequest) event;
            clearContext(channel, request);
        } else if (event instanceof PauseRequest) {
            final PauseRequest request = (PauseRequest) event;
            pause(channel, request);
        } else if (event instanceof ResumeRequest) {
            final ResumeRequest request = (ResumeRequest) event;
            resume(channel, request);
        } else if (event instanceof StatusRequest) {
            final StatusRequest request = (StatusRequest) event;
            status(channel, request);
        } else if (event instanceof NewContextRequest) {
            final NewContextRequest request = (NewContextRequest) event;
            newContext(channel, request);
        } else if (evt.getExtensionNotification() != null) {
            final Mmi mmi = evt.getMmi();
            final ExtensionNotification ext = evt.getExtensionNotification();
            extensionInformation(channel, mmi, ext);
        } else {
            LOGGER.warn("unable to handle that MMI event: " + event);
        }
    }

    public  VoiceModalityComponent(final MMICallManager cm,
            final ExtensionNotificationDataConverter conv,
            final ExtensionNotificationDataExtractor ext,
            final String baseUri);

}