Moved screen-specific functionality into its own module