"-custom" for dummies or: How to properly modify feature code behaviour

Hi everyone,
Is there any HowTo/Tutorial/Documentation on how to use the “-custom” contexts (e.g. [app-cf-on-custom]) properly? I’m working with FreePBX for quite some time and still haven’t understood the whole concept properly…
What I want to do is witing my own cutom feature codes or more precisely modifying the behaviour of the built-in feature codes - e.g. for turning CF on/off (much like http://www.freepbx.org/trac/ticket/2762) - and still being able to modfiy them in FreePBX’s “Feature Code Admin”, e.g. for changing for changing the *-number (and - if possible - to still see it in correctly in ARI/Recordings’ “Feature Codes”). Patching FreePBX (like in Ticket #2762) doesn’t really seem to be an option for me.
How do I do this? The “-custom” contexts are possibly not the right way… Do I have to do this using “Misc Applications” and “Custom Applications/Destinations” or simply hacking it into some -custom files (with losing the possibility to change the *-number in the forn end). The problem with these two mehtods is also that you don’t really have the option to code this stuff independently of the *-number, I guess.
Or should I use Dialplan Injections?
Thanks, Philipp