The free promo items don't really work because they don't remove the items when the parent is removed. Add a shirt, get a hat. Remove shirt, free hat remains. We can close this PR and I'll move these changes over to another branch and submit the code from there. Let me know if you want the JS changes. The 1-3-stable version of this extension doesn't currently work. I'd like to at least get the 1-3-stable branch into a working state for the next developer.