interface [MAIN Program] <---------> [DATA Module] <---------> data (abstraction layer) #### get_data_as_array() set_data_from_array() #### MAIN - to tie it all together DATA - to handle data storage and retreival MUNGE - to do fancy stuff to the data USER_INTERFACE - to make it pretty WIDGET - to do all the stuff we forgot elsewhere :-)