Ah okay, well happy coding then. I can't wait to see the final product. I'm not sure which language you're programming in and how easy it is to change something as fundamental as this, but there are some things I could probably do without personally and there are some liberties you can probably make use of by using the computer software. For example if you can select what you load into the controller's memory then it's up to the user to decide where to allocate their controller's memory. Having an option for how many custom rapid fire, fast reload, and quickscope slots could be an option or whether completely turn off one of these features all together. I personally don't use more than 5 rapid fire speeds, I don't use the fast reload or quick scope either. There could also be a selection of which button layout you would like to use via the program on the computer rather than having them all preloaded at once as well. I'm assuming you've made separate methods for each of the different features and there might be a way to select what is loaded into the controller at a time.