Make reconnect state change clearer

- Remove unused argument
- Only reconnect if still disconnected in async function
- Only connectWhenAble() if not already activated