[core] implement the missing CloseEvent