SpawningSystem + some refactoring