update to use $timeout w/ invokeApply=false