Introduced a query builder to construct the query parameters with method chaining
Refactored URLWithQuery to use common constructors and provide some more convenience methods
Refactored BrowserChannel to use the new classes