Robot uses state pattern