using Observer Mode to design the  UI and device class