Refactor the URI/QRCode APIs to be more obvious