Help with custom ContextActionService mobile buttons

I made a module script that customizes the default mobile buttons of the ContextActionService.

How it works is you call the function from the module script whenever you bind an action, giving the action name. But now I doubt this being the most optimal solution.

If you look closely, every time i update the button, you can see the default button for a slight second.

If you know a better way of doing this, or if you know how i can fix this issue, please reply!!