The implementation uses circular imports more than is necessary. Remove any circular imports that don't increase the readability/maintainability of the code.