Compatible with CustomEvent