Map<String, dynamic> toMap() { return <String, dynamic>{ 'state': state.toString(), 'user': user?.toMap(), 'error': errorMessage, }; }