Basic two way communication proof of concept. Needs big time refactoring etc.