Modern distributed applications require much more than just application logic, typically features such as state management for services, communication using publish/subscribe messaging and ...