* Improve some match statements using macros * Use `thiserror` instead of manually impl'ing Error
* Add proc-macro crate with two macros * Let cargo recalculate the Cargo.lock * Add tests and refactor some code to allow testing also the impl for parse_hint_helper_attrs now preserves order (which is essential for testing)
* Add plumbing for event system * Apply review suggestions * Add swap and reset color functions