First attempt at communication abstraction