Fixes #1: ID mutator is no-op unless overridden