* Reworked errors to not brick the system (things keep track of issues. * Reworked internal state management -- keeping invalid things present, cleanning up the code, utilizing issues. * Cleanup/improve error messages