What would you expect from a hypothetical Tk::Application module/widget? CGI applications cannot be easily compared with GUI applications --- the former is typically built with multiple screens, while the latter typically has only one nearly static screen (and probably a number of dialogs). If you need something which requires a serial thread of execution, then you can take a look at