A simple erlang TCP server based on supervisor and gen_server OTP behaviours.