A framework for validation of scala objects in a fluent and concise way