Major changes

Made the combiner+memoizer into an object
Completely restructured and renamed the function to fix the
doubly-encoded string