Refactor modules and tests for Browser window UI

This PR is part of the issue #18 for using ui modules.

@ahal and @chmanchester can you please have a look at this? Lets me know if something looks strange to you.
Good catch. I wanted to add more basic checks. Will do it with the next push.