@protected Key get runtimeKey { return key != null ? Key('$runtimeType.${key!.value}') : Key(runtimeType.toString()); }