A future that completes when this component finishes loading.
If the component is already loaded (see isLoaded), this returns an already completed future.
Future<void> get loaded { return isLoaded ? Future.value() : (_loadCompleter ??= Completer<void>()).future; }