Refactor src/ modules and build + packaging process

why not just doing: `export function extend(obj) {}`