/**
 * Logger callback
 */
class LogCallback implements Event_Callback
{
    public function run($data)
    {
        echo "Log Data" . PHP_EOL;
        var_dump($data);
    }
}
// Register the log callback
Event::registerCallback('save', new LogCallback());
// Register the clear cache callback as a closure
Event::registerCallback('save', function ($data) {
    echo "Clear Cache" . PHP_EOL;
    var_dump($data);
});
class MyDataRecord
{
    public function save()
    {
        // Save data
        // Trigger the save event
        Event::trigger('save', array("Hello", "World"));
    }
}
// Instantiate a new data record
$data = new MyDataRecord();
$data->save();
// 'save' Event is triggered here
<?php

/**
 * Logger callback
 */
class LogCallback
{
    public function __invoke($data)
    {
        echo "Log Data" . PHP_EOL;
        var_dump($data);
    }
}
// Register the log callback
Event::registerCallback('save', new LogCallback());