Hi All -- An Observer is a design pattern where dependent objects "register" with another "server" object so that they are notified of changes to the server object. The server object isn't specifically aware of its dependents, but only knows to notify them of changes to its state. Which of the following uses an Observer pattern to maintain the correct separation of model and view in a layered software architecture? a) GUI components register with business components so that they can update their views when the underlying model objects change. b) GUI components register with other GUI components so that can be notified of user changes to the state of the system. c) Business components register with GUI components so that the GUI components know who to ask for updates to their state. d) Business components register with other business components so that they can enforce business rules based on state change. Can somebody please help me figure out what's the correct answer on this. Thanks.