You've got my vote, Bill.

Customizable keys are critical. The more, the better.

I don't use soft groups, but they're ok so long as they don't involve the dreaded layer retention.