My vote is to use separate formal parameters for backwards API compatibility in 1.X, then move to hash parameters for 2.X when the API can be changed.