Instead of:

    completer.complete();
    return completer.future;

I think you can just:

    return null;