options must be json serializable
Map<String, dynamic>? get options => throw _privateConstructorUsedError;