At times (e.g., InvocationHandler) annotations override the default container settings. Consider re-visiting the model such that either this is explicit for all objects where model/type is different to container, or change instance/container relationship so the container values continue to match the instance (even if lazily so container data is updated). Problem with latter approach is that we can have many different types of object coming from the same container.
Need more user feedback to help determine right course of action. Will play with various options.