dynamic callMethod(dynamic o, String method, List args) { if (o is Map && o[method] is Function) { return Function.apply(o[method] as Function, args); } return null; }