/**
  * Get compiled template data to render a string with
  *
  * @param DataObject $context
  * @param Member $user
  * @param array $extraData 
  * @return ArrayData
  */
 public function getTemplateData($context, $user = null, $extraData = array())
 {
     // useful global data
     $data = array('ThemeDir' => SSViewer::get_theme_folder(), 'SiteConfig' => SiteConfig::current_site_config());
     // the context object, keyed by it's class name
     $data[$context->ClassName] = $context;
     // data as defined by the context object
     $contextData = $context->getNotificationTemplateData();
     if (is_array($contextData)) {
         $data = array_merge($data, $contextData);
     }
     // the member the notification is being sent to
     $data['Member'] = $user;
     // extra data
     $data = array_merge($data, $extraData);
     return ArrayData::create($data);
 }