I modified the controller state and how the emulator interacts with the controller into a constant time state that allows buttons changes to be reused and reset without the need for any sustain functionality due to the fact that the entire updated state is given upon any sort of change.