Separate out screen data so it can be re-used

Moving the screen data to it's own method allows:

* grabbing the raw data for use outside of the class.
* potentially filtering or inserting other mock screen data during unit testing etc.
* subclasses could extend this class and only need to overwrite this method to change the data.
* the constructor to look as simple as possible.