Finish refactoring Collection to use extend function

- Replaces use of Object.defineProperties for all function
declarations