Split ClassModel into ClassType and ClassContent to introduce Type
parameterized analysis