public function fire($eventName, $payload = array(), $halt = false)
{
if (is_array($payload)) {
$payload['timestamp'] = new DateTime();
$payload = new Event($payload);
}
return parent::fire($eventName, array($payload), $halt);
}