Significant code refactoring
Separate respawn and spin functionality