public function renderFbml($fbmlText, $network_session, $apiClient, $app_id)
 {
     if (!empty($fbmlText)) {
         try {
             $flavor_context = new RingsideSocialDslFlavorContext();
             $context = new RingsideSocialDslContext($apiClient, $network_session, $flavor_context, $app_id);
             $parser = new RingsideSocialDslParser($context);
             $flavor_context->startFlavor('canvas');
             $text = $parser->parseString($fbmlText);
             $flavor_context->endFlavor('canvas');
             $this->redirect = $parser->getRedirect();
             return $text;
         } catch (Exception $exception) {
             $this->error = $exception->getMessage();
             error_log("Exception thrown during parsing page ({$exception})");
         }
     }
     return null;
 }