Implement working interactive state transition system