Proper cleanup/disconnect handling should be solved