// default method that will be called
        // do some stuff
        print "default handle( ) method called<br><br>";
    }
    public function myMethod($data)
    {
        // do some stuff
        print "custom method has been called<br><br>";
    }
}
/* REGISTERING THE CLASS WITH THE METHOD HANDLE( ) */
PtcEvent::listen('form.success', 'TableModel');
/* REGISTERING THE CLASS WITH A CUSTOM METHOD */
PtcEvent::listen('form.error', 'TableModel@myMethod');
/* FIRING THE EVENTS */
PtcEvent::fire('form.submit', array('form data'));
PtcEvent::fire('form.error', array('form data'));
/* FIRING EVENT WITH THE DATA REFERENCED */
$data = 'form data';
print "The data value: " . $data . '<br>';
PtcEvent::fire('ptc.query', array(&$data));
// adding "&" references to manipulate the data
print 'Data changed thanks to the "&" reference: ' . $data . '<br><br>';
/* GETTING THE CURRENT EVENT LISTENERS */
print "<b>The current event listeners:</b><pre>";
print print_r(PtcEvent::getEvents(), true) . "</pre>";
/* REMOVING LISTENERS */
PtcEvent::remove('form.error');
// removing the last added event
PtcEvent::remove('form.error', 0);
// removing the first event by key
/* STOP CODE COVERAGE ANALYSIS */
ptc_stop_coverage();
// PtcDebug::stopCoverage( )
/* STOP FUNCTION CALLS TRACING */
ptc_stop_trace();
// PtcDebug::stopTrace( )
/*** PTC HANDYMAN HELPERPS ****************************************************/
/* ADDING APPLICATION PATHS FOR LATER USAGE ( PtcHandMan::addAppPath( ) ) */
ptc_add_path(array('lib' => dirname(__FILE__) . '/autoloader-example-files'));
/* ADDING CLASS FILES ( PtcHandMan::addFile( ) ) */
ptc_add_file(array('HmTestClassFile' => ptc_path('lib') . '/class-file.php', 'ns\\HmTestClassFile' => ptc_path('lib') . '/ns-class-file.php'));
/* ADDING DIRECTORIES WITH CLASSES TO THE AUTOLOADER ( PtcHandMan::addDir( ) ) */
ptc_add_dir(ptc_path('lib'));
// PtcHandMan::getAppPath(
/* ADDING A NAMESPACED DIRECTORY WITH CLASSES TO THE AUTOLOADER */
ptc_add_dir(array('nsTest' => ptc_path('lib') . '/namespaceTest'));
/* GETTING THE DIRECTORIES OF THE AUTOLOADER ( PtcHandyMan::getDirs( ) )*/
$dirs = ptc_dir();
// PtcHandyMan::getDirs( ) params: ( files , directories , ns )
ptc_log($dirs, 'getting all directories and files to be autoloaded');
//PtcDebug::bufferLog( );
/*** PTC EVENT HELPERPS ****************************************************/
/* ADDING EVENT LISTENERS ( PtcEvent::listen( ) ) */
ptc_listen('some.event', function ($data) {
    // do some stuff
    ptc_log($data, 'Called event with closure as call back');
    // PtcDebug::bufferLog( )
});
/* FIRING EVENTS ( PtcEvent::fire( ) ) */
PtcEvent::fire('some.event', array('some data'));