replaced hash with OpenStruct for readability and consistency

cf. 54a0534491c206aabf1747c16dccc3e0ef36454e

in the process, fixed URIs (string vs. symbol)

still seems a bit too implicit/hidden though