Update for multiple uses

This is exactly what I needed for my taxonomies, but I also needed the ability to use this for multiple taxonomies at the same time.

- Updated to be a normal (non-static) class so it can be reused.
- Changed the passed vars
- Cleaned up various bits, formatting, etc.