"provides intelligent objects. The objects are represented as hashes which: provide read-only elements, provide 'special' elements that are handled by user-supplied functions, disallow changes to the data as specified by metadata, track changes and call a 'commit changes' function when the object is destroyed."