idea for interface for different communication methods text/json/xml/whatever