Implemented methods to return constraints and defaults and also act as DSL
Don't merge permanently with parent hash