Convert to map for platform channel communication
Map<String, dynamic> toMap() { return { 'state': state.name, 'error': error, 'details': details, }; }