Slightly cleaner and more sensible.
Still thinking.
More failure-resistant now.

Now it dies with an error message instead of producing endless log spam.
That really should be the very first thing we do.
That's where this method should really live.
Better error logging.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	RasterPropMonitor/Core/ButtonHandler.cs