The only way to achieve this is to simply code it.
If you know PHP, it's easy enough since you have examples in the customer area for this exact same thing.
You can name your controllers as you wish and the next update won't override them, unless i ship the app with a controller name same like yours, which is unlikely.
You can also look into extensions, and create controllers from there.
There are plenty ways you can go around this