The name 'drying_paint' comes from the expression "watching paint dry". This module provides a system to "watch" some values for changes and run code whenever they change.
The typical usage is as follows: you first define a structure to hold data, including some "watched" data.
Implementing the trait WatcherInit for that structure gives you an place to set-up the code that should run when a watched value changes.
Normally you need to wrap the data struct in a Watcher, so it's common to alias the watcher type to cleanup the syntax a bit:
type Hello = ;
Creating watchers and setting watched data needs to happen within a WatchContext. WatchContext::update_current() will cause all the pending watcher code to run.