The functions should have a similar structure and philosophy on how they are invoked and on their output. This will require some re-working and possibly (read certainly) breaking function contracts.
I have touched on on the Novelity test refactoring in #10. That is a minor one, and should help expand the concepts / architecture of what we are trying to build.