Since the `'Id'` key is already stored in it's own instance variable, how about deleting it when you pass it to new? Something like: `new(conn, hash['Id'], hash.tap { |h| h.delete('Id') })`.