pass pipe handlers through as callbacks