Solved the circular dependency issue.
Found another way that doesn't work.