Added log event listener support via on() and off()