Развитие библиотеки. Использование данных из внешнего источника

У меня нет никакой практики для развития библиотеки, но теперь я хотел бы что-то создать. У меня есть класс CodeSet, который используется в большой структуре.

class CodeSet(val value: String) { fun validation(list: HashSet<String>): ErrorCode { … } } class A { val a1 … var a2: CodeSet? = null } class B { val b1: A = A val b2 … var b3: CodeSet? = null fun validation(): ErrorCode {…} } 

Проект «Первый» использует мою библиотеку. «Список» – это данные из внешнего источника. Например, для «a2» это список кодов стран, а для «b3» – список валют. Используя библиотеку в проекте «Первый», можно отдельно проверить «a2» и «b3», но как организовать определение «списка» только один раз в проекте и использовать «B.validation ()» для полной структуры? Как прототип библиотеки для этих требований?