Datan::Socket with a callback interface