Interesting thought but it will require a lot of change because the starter function is intertwined in many variables currently. There might be a workaround for that but I myself haven't spend time on it yet.
I have succeeded in keeping the starter running (after ignition) until button is released but it's not waterproof yet. I did manage to get the starter going as short as I want (waterproof) and as long as I want regarding there is no ignition. The latter (as long as wanted) needs redefinition of the disable engine function OR rewriting new methods of disabling, which I did in the case of fuel supply. Because on the disable engine function the starter won't go anymore in the first place, sadly enough. This workaround involves serious changes with can't be shared like easy peasy unfortunately..