Maybe it's my background in Java, but having a type simply named "Object" makes me nervous :)  I'm not sure if we'll see conflicts later on, but how about calling it `TagObject`?