Introduce class CompositeResult to get results from intermediate steps during validation