Refactoring to allow errors to be added during inheritance propagation