`controlPoints` would be a better name than `xy`