Is there a way to get rid of a circular reference without the use of macros?