allow playing to be overridden using events