Add equals / hashcode to make objects more efficient
refactor to ease later the implementation of annotation properties