Factory以外の実装をinternal化 refs #9
IExecutionを削除 refs #9