Had to adjust some of the classes because the default constructors
cannot be implicitly created by Groovy (need to figure out why)