Refactored annotations to fit better with doctrine annotations, added intermediate metadata classes to store raw metadata definitions from different sources (annotation, xml, yaml...) before building a valid model