Hello! I had a diagram looking like this:
It was drawn manually in some software. I decided to rework it into PlantUML and it turned out like this:
How do I make it more consecutive? I want to mirror the blocks along the red line to make it look more like the source image:

The fact that I can't control the position of the blocks annoys me. The source code is here:
@startuml
skinparam rectangleBorderThickness 1
skinparam defaultTextAlignment center
skinparam lifelineStrategy solid
State "Внешние системы" as ext {
State "Система A" as sysA
State "Хранилище \nсобытий" as store
State "Система B" as sysB
}
State "Служба рабочих процессов" as serv {
State "Фабрика очередей" as queuesFactory #lightgreen
State "Очередь \nгрупп сообщений" as msgGroupQueue
msgGroupQueue : Сообщение 1 \nСообщение 2 \nСообщение N
State "Фабрика задач" as tasksFactory #lightgreen
State "Компонент" as comp #lightgreen
State "Фабрика \nподключений" as connectionsFactory #lightgreen
State "Подключение A" as conA
State "Менеджер задач" as mngr {
State "Задачи \nпо сообщениям" as msgTasks
State "Очередь задач" as tasksQueue
}
}
sysA -> store : Создание сообщения
sysA -[hidden]-> store
store -[hidden]-> sysB
sysA -[hidden]-> sysB
tasksFactory -> tasksQueue : Создание задач
comp -[hidden]-> mngr
tasksFactory -[hidden]-> mngr
queuesFactory -[hidden]-> msgGroupQueue
tasksFactory -[hidden]-> msgGroupQueue
queuesFactory -> msgGroupQueue : Инициализация
msgTasks : Задача 1\n Задача 2 \nЗадача N
tasksQueue : Задача 1\n Задача 2 \nЗадача N
msgGroupQueue -> tasksFactory : Обработка сообщений
comp -> msgTasks : Создание задач
connectionsFactory -[hidden]-> conA
msgGroupQueue -[hidden]-> connectionsFactory
connectionsFactory -> conA : Создание подключения
mngr -> conA : Использование подключения
conA -> sysB
store -> msgGroupQueue : Загрузка сообщений
queuesFactory -[hidden]-> connectionsFactory
queuesFactory -[hidden]-> msgGroupQueue
queuesFactory -[hidden]-> conA
@enduml