public void initializePanel(ActivityInstance ai, Map inData) {
    FacesContext facesContext = FacesContext.getCurrentInstance();

    InteractionRegistry registry =
        (InteractionRegistry)
            ManagedBeanUtils.getManagedBean(facesContext, InteractionRegistry.BEAN_ID);
    if (null != registry) {
      // start new interaction
      ModelCache modelCache = ModelCache.findModelCache();
      SessionContext ippSessionContext = SessionContext.findSessionContext();

      Interaction interaction = registry.getInteraction(Interaction.getInteractionId(ai));
      if (null == interaction) {
        interaction =
            new Interaction(ippSessionContext.getUser(), ai, getContextId(ai), modelCache);
        interaction.setInDataValues(inData);
        registry.registerInteraction(interaction);
      }

      Map<String, Object> sessionMap = facesContext.getExternalContext().getSessionMap();
      sessionMap.put(
          IframePanelConstants.KEY_COMMAND, IframePanelConstants.CMD_IFRAME_PANEL_INITIALIZE);
      sessionMap.put(IframePanelConstants.KEY_INTERACTION_ID, interaction.getId());
      if (!isIceFacesPanel(ai)) {
        sessionMap.put(IframePanelConstants.KEY_VIEW_ID, VIEW_ID_NON_IFACE_FACELET_CONTAINER);
      }
    }

    // TODO emit java script to load page into panel?
  }