OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs