WIP: updating play_pattern_relative to have fewer responsibilities