やりたいこと、実現したいことを、
パッと思いついてすぐコーディングに入ってしっかり作れるまでの技量が足りない方だとお見受けします。
一度、ユースケース図やアクティビティ図や状態マシン図など、
UMLを適宜利用して実現したいシステムを第三者にもわかるように図に起こすことをお勧めします。
わかりやすくすることによって、
回答者側にかかる負担軽減にも繋がります。
やりたいこと、実現したいことを全部出して、問題点を複数点詰め込んでくるのは、
ある意味システムを外注するのと同じくらいの負担を回答者側にかけます。
(大多数の方が、見るだけ見て、スルーを決め込むパターンです、めんどくさいから。)
わかりやすくすることと、
一つの問題に関係ない事象を省いて理解しやすくすることが上手になれば、
問題点の解決が早まりWin-Winです。
ついでに、
ソースコードを貼り付けてくれていますが、
どういうディレクトリ構造のもとに
どういうファイル名で配置するのかも示していただかないと、
第三者が再現できません。
もう、これだけでもめんどくさい質問の雰囲気を醸し出していることを
わかっていただけますでしょうか。
上手な人なら、例えば、ソースコード内にコメント文で、
ファイル名やディレクトリ配置など記載したりします。