The C++ design is supposed to give a loosely coupled, highly extensible code base. I'm interested in C++ design patterns, so any comments (even flames) about the standard of my code/design are welcome. n.b. I know about the following issues. - throwing of exceptions in constructors, tsk tsk. - "suicidial" constructors (delete this) - Poor, non constructor/destructor automated memory management in places For the curious, look at the base classes FGConnectionInterface, FGPickerInterface and FGActionInterface. These interface definitions are at the core of the programs extensibility. One day I might copy my UML diagram into an art package and include it :-)