pull out spawn inner classes + bit of reordering
break out inner minion classes + basic reordering