options should perhaps be typed as a Map<String, dynamic>?