Allow to modify classmetadata on runtime and refactore