Though on second thought, I'm not sure why you introduced `hasProperty`. The code used to simply check whether the string was empty or not. How is checking whether the property exists better? Should it really be an error to leave a property without value, rather than treating that as an "unset" case?