adding a timeout wrapper around the function that fires whenever the ng-model is programatically modified, so that options have a time to fully propagate if the options changed at the same time (e.g. full window data refresh)