Half Changed to Observer Pattern