automatic chain builder (stage 1)
Introduce separated message producer