Included proof of concept for state pattern implementation (no tests yet)