buenas...
me parece que estas haciendo un patron inverso al modelo de objetos. o sea, en lugar objetos contener metodos, las funciones contiene objetos. no se, en mi opinion me parece que lo complicas. de todos modos, podrias hacer una funcion que devuelva funciones literales. de ser necesario, al mismo tiempo declaras el objeto a esa funcion.
Código:
function fn(){
var _fn = function(){
...
}
_fn.object = {};
// bien puedes crear un nuevo objeto u obtenerlo por argumento al invocar fn ;
return _fn;
}
no estoy seguro pero supongo que es eso lo que quieres hacer. en javascript, clonar funciones como tal no es posible. si intentas asignar una funcion a una variable o propiedad con el operador asignacion [=], la funcion se pasa como referencia y no como valor.