Refactor: ValidationSchema to ValidationScope and create factory