Refactored resulting in much less code, almost no reflection, and optimized caching of the little reflection there is left.
This resulted in a slight change to the interface, which is shown in the updated README.md.