Implement game states

Signed-off-by: Piotr Bocheński <bochenski.piotr@gmail.com>