Basically rethinking and rewriting the package (and tests).