Covers non static macro calls with Cache Repository
Cleaning up to code standards
Replaces expensive Exception handling
Adds hasMacro method and changes back to macroCall