I find it a little confusing that we're using the same name to mean two different things (either the object with the identifying stuff inside or the integer that specifies the particular instance of a named sound).  Could the object be renamed?  I think that would help my other confusion with the *id* being an object.