StatePattern diagram