Basic information:
name Identifier of this declaration
category Kind of declaration (e.g. CG_PROCESS)
Optional information:
modifiers Set of modifiers (if any)
container Enclosing declaration (if any)
source Node of the AST where the declaration is performed (if any)
scope Symbol table with names declared inside this
declaration (if any)
Each information defines methods hasInfo(), getInfo() and setInfo() e.g. : setModifiers(), getName()