Refactored Spawn to be functional and removed `Unit`.