State pattern implementation has begun.