Refactor for multiChoice, add ability to discount by lump sum or percent, and various bugfixes