reimplement: GameProperties
add change theme state
prepare to "change theme"