initialized state and observer patterns