factored out some code into Screen