ファイルの循環参照を避けるため汎用コードを分離.

とりあえずMain.knから該当するコードを単独のファイルにコピー.