Solo: a framework to help write large Matlab programs with GUIs