Changed gui implementation to class based for better app control and integration.
Added update_idletask() function to update app status and progress bar. SO suggested that this function is susceptible to errors in certain situations so shall revise implementation at a later time.