abstracting entity spawning system