Hi Marcus,
I noticed, the quick "plug-in" ability for those choice types. The problem I am seeing is that none of them seem to provide an adequate interface for accessory type additions. Again, I don't have a huge amount of time with the source but in looking into the Template files as well as the base ChoiceAndInputs classes, I did not see anywhere that a custom input/choice/modifier could hook into so that when a customer selects radio button 2, both ProductX and ProductRadioButton2 should both be added to the cart.
Modifiers seem to be able to change a product, but it would get added to the cart as 1 item, modified, and simply deduct from the inventory of that base product.
Choices seem to take an item that may come in various sizes and choose the correct product number from the catalog and add that to the cart as 1 item controlling the inventory of the appropriate sized product.
My Accessories concept would basically be a "Cross-Sell" to use BVC5 like terminology. The problem with the cross-sell feature as implemented is that there is no way to separate the type of cross-sell products to make items easier to find for the customer. For example, easiest item I can think of as an example would be a camera. A customer may want a case, an extra battery, a variety of different lenses, memory cards, etc. In BV2004 you'd be able to seperate each type by using a html input to describe the section and then create a product accessory checkbox list to handle the accessories for the "heading" and repeat for each additional section. Besides being more organized, it also allowed a customer to add several accessories to the cart with the main product in a single add to cart click, thereby helping the cross-sell complete. The current process of add, back to accessory list, add, back to accessory list, repeat until done, is much less user friendly.
Also, the interface is more difficult for the consumer in the case of an extended warranty. For example, in the cross-sell section they see 3 extended warranties and have to add the product themselves separately, whereas in the current BV2004 implementation using the Radio Button Accessory option, they either select None (with the Is Null Property), 3 Year, or 5 Year. Easier on the customer makes it a much easier sell.
Again, if I am overlooking something in the implementation of those "customer choices" that would allow the functionality I am looking for with the creation of simple /admin/edit/view controls and overriding the appropriate methods, I would be all for it. But in looking at your Checkbox Input, it appears that it is nothing more than a wrapper of sorts for a text input of Yes and No.
What I will say, is in thinking about this, it appears that a better way to implement my solution may be using the Cross-Sell classes as a starting point rather than the input classes.
Any further comments are appreciated.