Refactored PathInputPanel to allow subclasses to override aspects of path validation.