fix: selected index is now updated before informing delegate about update