A framework for testing systems with JavaSwing or AjAx GUIs that takes care of dealing with the asynchrony and multiple threads in the Swing framework and provides a high level "EmbeddedDomainSpecificLanguage" style API for describing interaction with the GUI.