[#6] Added Column type validation. Moved all validation related come to specialised class.
[#6] Fixed failing test