[5.0] Use Contract For Event Dispatcher

@lucasmichot cheers.