change api call to pass reference
rename const to target to better reflect nature
add test coverage for reference target
update documentation for new callback