Refactor to collate warnings whilst validating rather than logging directly