Есть идея наверное старая как мир писать один интерфейс для апи и юай шагов, две реализации этого интерфейса соответственно, не могу по синтаксису создавать один дженерал класс, который будет при содержать две имплементации и при вызове этого класса нужно чтобы через делегат иннициализировалась одна из имплементаций по выбору