>>2の件ですけど
次のように書き換える考え方でいいのでしょうか
ボタンクリック以外にも、じかに TaskOnClick(); で処理を呼べますけ

myButton.button.onClick.AddListener(TaskOnClick);

void TaskOnClick() { 処理 }