Implement parent/child offsets using listeners