Implement events through function pointers hack, finally, whoah!