Немножко вне рутины...
если ... то
-----
Ну давай напишем - ограниченно взаимодействуют - могут вызвать единственный хорошо известный метод без параметров.
Ничего добавить Я не могу - Бешки - не рукотворные и имеют жесткие ограничения.
А самое главное - очень не хочется иметь что-то более сложное - они будут создаваться и отдаваться фабрикой как имплементация интерфейса с одной функцией. Кто и как сделал вызов - мне, на момент написания, будет неизвестно.
Чтобы было совсем весело - подозреваю, что мне еще и инстансы Бешек надо будет кешировать...
Делаешь фабрику стримов
-----
У меня есть пулл стреамов.
Потому что создавать их дорого.
Но пулл, к сожалению, не может принимать подобные решения.
Можно написать менеджера.
Примерно так, как сделано в Main - b1.Sw = sw; - но это - внешнее управление.
Мне нужно, чтобы эту задачу решал код в инстансе А, который "НЕ знает" кто пытается получить доступ к стреаму, но "знает", при отсутствии стреама инстанциация производится где-то внутри метода другой Бешки у которой есть нужный стреам. Вот до него мне и надо добраться.
Как-то так.