Refactoring webView, now can run async commands