API  documentation, and use event emitter to fire the disconnect callback