Minor changes

- Fixing a hoisting error in `observer.fire()`
- Minor optimization for `observer.remove()` & `utility.$()`
- Optimized stack of calls to `string.explode()`