The Watchstar confusingly is not an Icon - it contains logic for handling clicks to the watchstar.
We also have an icons.watchIcon helper class which is uses.
The icons.watchIcon helper should accept parameters, and the entire Watchstar class should become a function that creates and manages a watchIcon and watchedIcon.
Developer notes
Experimented with this here: https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/MobileFrontend/+/535671 WIP: Replace Watchstar class with an icon helper