Currently, we use all over the place the out_control_socket to send messages from the BackgroundThread to ForegroundThread (PeerCommunicator)
It is often confusing what its purpose is, and it gets confused with the in_control_socket
Furthermore, it provides send and receive methods, but you should never call receive, because we only receive over the in_control_socket to guarantee the order of the communication between Foreground and Background
To make this more clear, we should encapsulate the out_control_socket in a ForegroundThreadSender, which only provides send methods
Background