Carga dinámica de archivos Javascript y eventos de finalización de carga

Hoy he estado trabajando en cargar código dinámico de JavaScript (archivos). La solución que uso es:

function loadScript(scriptUrl) {
        var head = document.getElementsByTagName("head")[0];
        var script = document.createElement('script');
        script.id = 'uploadScript';
        script.type = 'text/javascript';
        script.src = scriptUrl;
        head.appendChild(script);
    }

El problema con esto es que no sé cómo asegurarme CUANDO se ejecuta el contenido del script. Dado que el script contiene clases (bueno, clases JS), escribí una función que se llama a través de setTimeout y comprueba si esos objetos están definidos. Esto no es flexible ya que no es automático. ¿Entonces? ¿Hay formas de cargar esos scripts y tener una notificación confiable sobre cuándo se han ejecutado?

Respuestas a la pregunta(3)

Su respuesta a la pregunta