/**
  * Static Singleton Factory Method
  * @return TribeCommunityEventsTemplates
  */
 public static function instance()
 {
     if (!isset(self::$instance)) {
         $className = __CLASS__;
         self::$instance = new $className();
     }
     return self::$instance;
 }
/**
 * Instantiate class and get the party started!
 *
 * @since 1.0
 */
function Tribe_CE_Load()
{
    add_filter('tribe_tec_addons', array('TribeCommunityEvents', 'init_addon'));
    if (class_exists('TribeEvents') && defined('TribeEvents::VERSION') && version_compare(TribeEvents::VERSION, TribeCommunityEvents::REQUIRED_TEC_VERSION, '>=')) {
        TribeCommunityEvents::instance();
        TribeCommunityEventsTemplates::instance();
        require_once 'lib/tribe-community-events-schema.class.php';
        add_action('admin_init', array('TribeCommunityEvents_Schema', 'init'));
    } elseif (!class_exists('TribeEvents')) {
        add_action('admin_notices', 'tribe_ce_show_fail_message');
    }
}