Без простого способа добавления объектов в личный черный список, функция теряет всякий смысл, а наличие простого способа ведет к тому, что пользователи неосознанно добавляют в этот список объекты, а потом не могут понять почему программа у них не работает.
Вопрос, очевидно, заключается именно в реализации способа взаимодействия пользователя с этим "личным черным" списком.
Т.е. надо сделать так, чтобы пользователи не смогли это сделать неосознанно. Вот и всё.
Простой пример - сделать "черный список" в виде файла со списком идентификаторов объектов.
Файл надо положить в правильную папочку - по аналогии с "озвучкой" (в которой надо положить правильные файлы с правильными именами в правильную папку). Никто ж не истеричит на тему кастомной "озвучки"...
Обычный пользователь об этом файле даже не догадается.
А необычный пользователь сначала узнает, что такая функция есть, а уже потом выполнит кучу сознательных действий, как обычно, на свой страх и риск.
Кроме того, создание личных баз не стыкуется со смыслом проекта. База должна быть едина для всех, но при этом должна иметь возможность простой и быстрой настройки под личные предпочтения каждого.
Вполне себе стыкуется.
"Личный черный список" сам по себе базой объектов не является.
"Личный черный список" НЕ ПОЛУЧИТСЯ использовать отдельно от общей базы объектов (т.к. он содержит по своей сути только список идентификаторов).
Угрозы основной базе "личный черный список" не представляет.
В принципе, возможно реализовать с помощью такого "личного черного списка" персональное "преимущество" над другими участниками проекта.
Но для этого придется добавить в общую базу speedcam несоответствующие объекты или исказить характеристики объектов - а затем занести эти объекты в "личный черный список", чтобы не получать о них оповещения.
Но это уже как минимум - вандализм, а как максимум - "теория заговора" со всеми вытекающими подробностями...