Added a special case not to play empty sounds, and a small fallback system in EventSelector so that some events can be substituted with fallback events in a cascade