Settings can only be either
- defined at project or view level
- defined at module level
- defined at sub view level
But nothing enforces it in the API PropertyDefinition.
In addition, because of this, project deletion is attempting to delete settings for any type of component in the project when deletion should only be performed for a subset of them.
Finally, a database migration should clean any setting defined for invalid components.