Distinguish between interface and state properties
Extracted TypeFactory