No,
Mi idea inicial es que todo lo referente allocatación y manejo de la memoria esté implementado en ResourceManager. Este, contiene dos funciones virtuales puras, initResource y deinitResource. initResource es la encargada de implementar como se carga el recurso en cuestión. deinitResource en principio esta por si antes de deallocatar la memória del recurso, hubiera que liberar algo mas relacionado a el, me explico?

Como puedes ver, ahora mismo se hace new y delete dentro del ResourceManager. Inicialmente, mi idea era simplemente reservar la memória, y dentro de initResource/deinitResource llamar a un placement new/delete. De esta manera, no estariamos atados a ningun paradigma de programación. En cambio, si el recurso necesita a la fuerza un parametro en su constructora, no compilaria. Lo veis muy liado?