Rewrite. New interface, add property reaction.
Typo fixes.  More bugs remain.