maybe we need a willDefineProperty to avoid the delete here? Also, does this need to be a create time thing? can it not be just design time?