Base implementation

`InvalidObject`? What does that mean? `InvalidObjectType` maybe?