refactors for release 2.0

Will all the changes in #12 breaking backward compatibility, it's a good time to make other changes. This is another PR intended for a "2.0" version. Two main changes:

- leave the `fudge` requirement to the components that actually need it for their tests
- remove asserts to keep things simple