Major refactoring

- Refactoring `utility.clone()` to "steal" the prototype via `utility.extend()` if possible