ArrowSpawnPointProvider
Responsibility: provides the transform(point) where an arrow should be spawned.
When a character is created on the gameObject ArrowSpawnPointRegisterComponent, it adds the transform(point) to the ArrowSpawnPointProvider.
Place of creation: BattleController

ArrowSpawnPointRegisterComponent
Responsibility: adds transform(point) to ArrowSpawnPointProvider
Place of creation: is set up in editor on Character prefab