Generation.size moved to instance variable that must be set on initialization