Using $timeout in flipping tile tracker and flag adding/removing so angular wraps in $apply function