Events vs. function calls in Moodle Core development