onOnset with parent value: complicated and messy but sort of works