+ Genome &GetGenome() noexcept { return genome; }
+ const Genome &GetGenome() const noexcept { return genome; }
+
+ Genome::Properties<double> &GetProperties() noexcept { return properties; }
+ const Genome::Properties<double> &GetProperties() const noexcept { return properties; }
+
+ void Mass(double m) noexcept { mass = m; size = std::cbrt(mass / density); }
+ double Mass() const noexcept { return mass; }
+ void Grow(double amount) noexcept;
+
+ void Density(double d) noexcept { density = d; size = std::cbrt(mass / density); }
+ double Density() const noexcept { return density; }
+
+ double Size() const noexcept;
+ double Age() const noexcept;
+ // change of giving birth per tick
+ double Fertility() const noexcept;
+