this is an old explanation about observers, but still relevant...
@unknownuser said:
Observer is one of a set of new Ruby classes provided as part of SketchUp 6.0.
"The Ruby Observer Mechanism is designed to allow Ruby scripts to be notified when objects change in the SketchUp application or model. For example, you can create an observer class that "listens" to when SketchUp quits and then performs some action."
"Create a Ruby class of a specific observer type, such as AppObserver, override the desired methods, such as onQuit, and add an instance of the observer to the applicable objects in your Ruby script (using the add_observer method for that object). Refer to individual observer interfaces for further information."
There are 16 observers, to run routines when various things happen to the model, entities, etc.
A lot of plugins use observers to speed up their response time when in use, others monitor your every action and 'take notes'...
If a plugin is watching for new materials, new geometry or new layers, etc... it can really slow down any imports...
some have 'on save model' observers that check for changes each time you save or autosave your model...
if you do a search for 'Sketchup Observers' you'll find lots of posts about issues of clashing and failing...
john