When we have a module (or sub-module) referencing another sub-module and vice versa, it increases coupling between these components. Generally speaking, it is best to avoid bidirectional dependency between the parent module and the sub-module because it introduces tight coupling and makes the code difficult to understand and debug. How can we fix this? Let's explore this next.