Организация нескольких тестовых фреймворков

Всем привет

Есть 2 тестовых фреймворка: для веба и нативного приложения. Оба сделаны на Serenity (java) и реализованы независимо друг от друга.
Для оптимизации кейсов часть действий выполняется через API (например, регистрация юзера). Классы для работы с API почти одинаковые в обоих фреймворках, что влечет копипасту кода и увеличение издержек на поддержку.

Хочется вынести работу с API в общий для обоих фреймворков модуль (или м.б. как-то еще?)
Был ли у кого-то опыт решения подобной задачи и как архитектурно вы это реализовывали?

В дот.нете “это” делается отдельной вынесенной библиотечкой, которая “юзается” в обоих проектах. Подозреваю, что в джаве “аналогично” (некий “пэкэдж”, который потом импортится)

*из быстронагугленного skipy.ru: Записки трезвого практика -> Техника -> Ликбез