protected override object InternalCreate(CreationContext context) { var instance = Instantiate(context); context.SetContextualProperty(this, instance); SetUpProperties(instance, context); ApplyCommissionConcerns(instance); return instance; }