introducing state pattern for the screen modes