>>564
エラーの理由はエラーメッセージ書いてあるだろ。

一般的に A, B が循環参照になっているなら A, B をひとつにまとめて C としてしまうか、
あるいは A, B から循環参照を生じさせている部分を新たに C に抽出して A, B ともに C を
参照するようにするか、という解決方法がとれることが多いと思う。
そのコードもたぶんこれでいけるんじゃないの?