Dev abstract models

@mgluszko 
There is a reason why methods in class are in particular order. Please go through all files and make sure that a constructor is always first method. In general the order of declarations in a class:
1. fields
2. internal classes
3. constructors
4. other methods