Refactor some control error-handling code

This change reduces the size of a practracker exception