The "ModelEvent.SELECTED" is a string. The compiler will not complain if you provide an constant that is never thrown. If I register an event to the wrong class this is hard to detect.
For example, I'm in an "Sprite" and forget the "model."
All compiles well, but nothing works. FDT could help here with an warning "Event is never dispatched" by checking the metadata tags defined for the class and all it's super classes.
public class ModelEvent extends Event
public static const SELECTED : String = "ModelEvent.SELECTED";
public function SceneModelEvent(type : String)