Don't use intermediate buffers.
method renamed.

immediate_wakeup? -> immediate_wakeup_self?
watched_status and changed_status may have empty hashes.