use DEALER socket

Signed-off-by: Steven Armstrong <steven.armstrong@inf.ethz.ch>
move controller into it's own class

Signed-off-by: Steven Armstrong <steven.armstrong@inf.ethz.ch>