Move ConstraintSpecification trait out of Widget.scala