Make extend slightly nicer
Make extend public
Make deep copying optional in extend
Add package.json