Добавил поддержку тестирования на уровне cabal.
Разделил программу на три потока с обменом сообщений с помощью Cloud Haskell.