This will append the new observer to the head of the Observers list, which means that updates/notifications will be performed in a first-in last-processed order: do we want that? Or should we make it append the observer to the tail of the list so that they get processed in the order they were added, which (I think) is slightly more intuitive.