Refactored updateServerStates and calculateState added some checks to ensure we are not sending connecting on context canceled removed some state updates from the RunClient function
Fix add/remove connection listener In case we call the RemoveConnListener from Java then we lose the reference from the original instance
Initial modification to support mobile client Export necessary interfaces for Android framework