Initial review

The most recent commit message is so accurate.

I wasn't sure which way to go with prefix handling.  The performance nerd in me said go with a central registration but the code definitely turned out way wonkier than I like.