Invalid and InvalidGroup now inherit from common ancestor, InvalidBase
Updated to work with the modified Invalid classes
Functions now use @wraps, other misc. changes