Fix interactive events
Allow `defgetset` to call methods
Use new `defgetset`
Trim trailing whitespace