Error messages are produced ad-hoc all over the place with different styling conventions: - replace with a common error handling class - standardized message formats - possibly switchable reporting levels See also #2