avoid copy of state for dense out iterators
obs_caller refactored
merge obs_caller