[WIP] Major Refactoring

This is a major refactoring meant to improve test coverage, reduce dependancies, and ease the general use of this bundle. It is a work in progress, and while it's ongoing other work and pull requests will be put on hold. Feel free to work against this branch to contribute to the updates.