Although this is not part of you PR, there is a horrible camelCase notation, urlOpener, that needs to be changed to url_opener.