Well, I am also not certain about things but I think circular imports are fine as long as all modules only define classes/functions and don't immediately run code. 

Anyway, your way is certainly better than before. Should we leave it as is?