Когда подсчитаем, во что всё это выливается, может оказаться проще панель оператора применить или на DI/DO потратиться.