Converted all "complex" (for example participating in class hierarchies) data type to classes.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Merge pull request #283 from ddobrev/master

Converted all "complex" (for example participating in class hierarchies) data type to classes