Assert on exit codes
Do not expose internals
Improve naming
Introduce util to help with older browsers
Add more utils