modified SpecificationFor to handle internal constructors and customised BDDfy reporting to be more unit testy