seperate CallbackM from SocketM