Calling función de JavaScript con una cadena de objetos en notación de puntos

Supongamos que tengo la cadena:

var string = "function";

Co

window[string];

Puedo llamar a una función con el nombre de "función".

Pero, cuando tengo:

var string2 = "function.method.weHaveTogoDeeper";

debería llamar a

window["function"]["method"]["weHaveTogoDeeper"]

No puedo hacer:

window[string2]

en este caso. No sé el número de "." en la cadena, así que necesito algún tipo de rutina.