anchor.diff:    // Data sources
     sl.registerLazySingleton<AnnouncementsDataSource>(
       () => AnnouncementsDataSourceImpl(),
  +  );
  +
  +  //! Features - GeoIp
  +  // Bloc
  +  sl.registerFactory(
  +    () => GeoIpBloc(
  +      geoIp: sl(),
  +      logging: sl(),
  +    ),
  +  );
  +
  +  // Use case
  +  sl.registerLazySingleton(
  +    () => GeoIp(
  +      repository: sl(),
  +    ),
  +  );
  +
  +  // Repository
  +  sl.registerLazySingleton<GeoIpRepository>(
  +    () => GeoIpRepositoryImpl(
  +      dataSource: sl(),
  +      networkInfo: sl(),
  +    ),
  +  );
  +
  +  // Data sources
  +  sl.registerLazySingleton<GeoIpDataSource>(
  +    () => GeoIpDataSourceImpl(
  +      getGeoIpLookup: sl(),
  +    ),
  +  );
  +
  +  //! Features - History
  +  // Bloc
  +  sl.registerFactory(
  +    () => HistoryBloc(
  +      history: sl(),
  +      imageUrl: sl(),
  +      logging: sl(),
  +    ),
  +  );
  +  sl.registerFactory(
  +    () => IndividualHistoryBloc(
  +      history: sl(),
  +      imageUrl: sl(),
  +      logging: sl(),
  +    ),
  +  );
  +
  +  // Use case
  +  sl.registerLazySingleton(
  +    () => History(
  +      repository: sl(),
  +    ),
  +  );
  +
  +  // Repository
  +  sl.registerLazySingleton<HistoryRepository>(
  +    () => HistoryRepositoryImpl(
  +      dataSource: sl(),
  +      networkInfo: sl(),
  +    ),
  +  );
  +
  +  // Data sources
  +  sl.registerLazySingleton<HistoryDataSource>(
  +    () => HistoryDataSourceImpl(
  +      getHistoryApi: sl(),
  +    ),
  +  );
  +
  +  //! Features - Image URL
  +  // Use case
  +  sl.registerLazySingleton(
  +    () => ImageUrl(
  +      repository: sl(),
  +    ),
  +  );
  +
  +  // Repository
  +  sl.registerLazySingleton<ImageUrlRepository>(
  +    () => ImageUrlRepositoryImpl(
  +      dataSource: sl(),
  +      networkInfo: sl(),
  +    ),
  +  );
  +
  +  // Data sources
  +  sl.registerLazySingleton<ImageUrlDataSource>(
  +    () => ImageUrlDataSourceImpl(
  +      pmsImageProxy: sl(),
  +    ),
     );
   
     //! Features - Logging
  
positive.code:   sl.registerLazySingleton<tautulli_api.GetUserWatchTimeStats>(
      () => tautulli_api.GetUserWatchTimeStatsImpl(sl()),
    );
    sl.registerLazySingleton<tautulli_api.GetUsersTable>(
      () => tautulli_api.GetUsersTableImpl(sl()),
    );
    sl.registerLazySingleton<tautulli_api.RegisterDevice>(
      () => tautulli_api.RegisterDeviceImpl(sl()),
  
negative.code:   //! Features - Users
    // Bloc
    sl.registerFactory(
      () => UserIndividualBloc(
        users: sl(),
        logging: sl(),
      ),
    );
    sl.registerFactory(
      () => UsersBloc(
        users: sl(),
        logging: sl(),
      ),
    );
    sl.registerFactory(
      () => UsersTableBloc(
        users: sl(),
        logging: sl(),
      ),
    );
    sl.registerFactory(
      () => UserStatisticsBloc(
        users: sl(),
        logging: sl(),
  