Constants refactor: public/private constants, replace define (typeless) by real typed constants

This is a proposal of new use of constants. Just for your consideration.
Names maybe should be also changed because we're polluting the namespace (GET for a constant name is such generic name that could conflict other project specific symbols)