Add basic socket listener API