properly hide the constructor of the utility class
prepare splitting into two modules: core and annotations
Split out reflection based code into separate lib
Merge branch 'feature/speedup_in_reflection' into develop