@override FutureOr<T> getModule<T extends IShelfModule>() { return modules.singleWhere((element) => element.runtimeType == T) as T; }