Fire events correctly