The set of all observers that this manager is responsible for updating. We are using a set to ensure that we don't double update an observer if it is accidentally added twice.
To fire events semi-accurately, poll the observers 4 times a second. This should be frequent enough to trigger an event close enough to its actual occurrence without the user noticing a delay.
Have the playhead observer manager manage a new observer. This will ensure that observers are only tracked once within the manager. After this call, the manager will be responsible for the life cycle of |observer|.
Notify all the observers that we just seeked.