Invoked when a non-existent method or property is accessed.
Classes can override noSuchMethod to provide custom behavior.
If a value is returned, it becomes the result of the original invocation.
The default behavior is to throw a NoSuchMethodError.
Source
noSuchMethod(invoke) {
log('${invoke.memberName}(${invoke.positionalArguments}, '
'${invoke.namedArguments}) called');
if (invoke.isMethod) return new Future.value(false);
}