While it's on my mind, one thing that needs cleanup is the use of <context>. It's passed down to control error message reporting. Sometimes it's not used and (I think) sometimes it's used inconsistently. It's just leg-work to clean this up.