anchor.diff:  
   
     @Input() String label;
  -  @Input() String errorMessage;
  +  String _errorMessage;
  +  String _customErrorMessage;
   
     bool error = false;
   
  
positive.code: 
    bool hasError() {
      return error;
    }
  
    FnxInputComponent get component => _component;
  
negative.code:   handleErrorChange(dynamic errorStatus) {
      if (errorStatus is bool) {
        this.error = errorStatus;
        if (!errorStatus) {
          _customErrorMessage = null;
        }
      } else if (errorStatus is String) {
        error = true;
        _customErrorMessage = errorStatus;
      } else if (errorStatus == null) {
        error = false;
        _customErrorMessage = null;
      }
    }
  }
  
  abstract class FnxInputComponent implements OnInit {
  
    FnxInput _wrapper;
  
    final String _privComponentId = ui.uid("comp_");
  
    final EventEmitter errorStateChange = new EventEmitter();
  
    FnxInputComponent(@Optional() FnxInput wrapper) {
      this._wrapper = wrapper;
    }
  
    String get componentId {
      if (_wrapper != null) {
  