- accept a user provided clientID in the constructor - handle the cleanSession in connect method - let the user register a collback to a topic without do any subscription on server side - divide the closing from a server from the shutdown of all the client instance