Понимание того, как Greasemonkey запускает пользовательские сценарии

Я изучаю Greasemonkey в надежде внести некоторые улучшения в веб-страницу.

Мне кажется, я хорошо знаю JavaScript, но я не понимаю, в какой момент рендеринга документа выполняется пользовательский скрипт Greasemonkey.

Например, что если внутри документа есть JavaScript, который вставляет некоторые элементы на страницу. Я хочу, чтобы мой сценарий Greasemonkey выполнялся только после завершения этого JS.

Допустим, это документ, который я пытаюсь изменить с помощью Greasemonkey

<html>
 <script>
   //insert a button with id="mybutton"
 </script>
</html>

Я хочу, чтобы код