Abstracting udp into lib, intial steps