Panel contents
Log
Why destroy() matters: a row that is only removed from the DOM stays
subscribed to its signal, and the subscription keeps the detached row alive. destroy() stops
the row's effects first. Controllers registered above is the panel's own list:
it goes down by one for every row destroyed, and to nothing when the panel is.