If we expect all nested types to implement this, it should be a callback in the behaviour module.