Adding `extend`. Refactor
Add tests
Wrote some documentation
Bump to 0.4.0rc1