Communication layer

Combine several apps into one for a shorter dependency chain.