In this theory, cell differentiation is a two-step mechanism at each stage of development. In the first step, gene expression is unstable. It occurs stochastically and produces different cell types. In the second step gene expression is stabilized by means of cellular interactions. However, this stabilization cannot occur until the combination of cell phenotypes corresponding to the developmental stage is expressed. This selection mechanism prevents disorganizing consequences of stochasticity in gene expression and directs the embryo towards the adult stage. Instability and stochasticity in gene expression are caused by random displacement of regulators along DNA, whereas phosphorylation and/or dephosphorylation of transcriptional regulators triggered by signal transduction between cells are responsible for the stabilization of stochastic gene expression. The origin of cellular differentiation is explained as an adaptation of cells to metabolic gradients created by substrate diffusion inside growing cell populations. This mechanism provides cells with complementary metabolism, increasing their ability to use food resources. Because the metabolic gradients are dependent on external substrate concentrations, cellular differentiation can also be viewed as an extension of natural selection inside organisms.