Minor cleanup
Better handling of void pointers
Added CFunction
Removed CVar
Seperating concerns for struct declarations