Proper result objects and failure debugging output, extra helper methods, better organized tests