Issue: Implement connection management

Connection management logic should allow for timeouts during ungraceful connection changes.