Refactoring the MacroFunctionReader code. More to come, but now have at least broken it out. This should fix alot of package problems as well.