I started implementing it and punted because I couldn't decide if the object should return nil for undefined options (like hash['unknown_key']), or if it should raise an error. I'm leaning towards making it raise an error and adding a `?` suffix for options as well.