Feature error event

This closes the first round of #56 and makes progress on #21