Это более общий вопрос проектирования, и он может зависеть от вашего конкретного случая - например, Что вы планируете использовать события? Какая информация нужна пользователю библиотеки?
Я думаю, что инициирование события, когда пользователь добавляется из любого источника (как локально, так и при загрузке нового пользователя), более полезно, потому что вы можете использовать событие как уведомление о том, когда вам нужно обновить список пользователи (например). Событие также может содержать некоторую YourEventArgs
информацию, которая будет содержать информацию об источнике (локальный или загруженный).
Инициирование события при вызове какого-либо метода может быть не таким полезным (если метод вызывается пользователем библиотеки), поскольку пользователь библиотеки, вероятно, будет знать, что он вызывает метод (поэтому он этого не делает об этом нужно уведомить).