Clean up disconnection logic in steampurple