This is a position paper on phenotype-based evolution modeling. It argues that evolutionary complexity is essentially a functional kind of complexity, and for it to evolve, a full body, or, in other words, a dynamically defined, deeply structured, and plasticity-bound phenotype is required. In approaching this subject, we ask and answer some key questions, which we think are interrelated. The questions we discuss and the answers we propose are: (a) How should complexity growth be measured or operationalized in natural and artificial systems? Evolutionary complexity is akin to that of machines, and to operationalize it, we need to study how machinelike organismic functions work and develop. Inspired by studies on causality, we propose the notion of mechanism. A mechanism is a simplified causal system that carries out a function. A growth of functional complexity involves interconversions between a deep (or unused) process and that of a mechanism. (b) Are the principles of natural selection, as they are currently understood, sufficient to explain the evolution of complexity? Our answer is strongly negative. Natural selection helps adapting mechanisms to carry out a given task, but will not generate a task. Hence there is a tradeoff between available tasks and mechanisms fulfilling them. To escape, we argue that competition avoidance is required for new complexity to emerge. (c) What are the environmental constraints on complexity growth in living systems? We think these constraints arise from the structure of the coevolving ecological system, and the basic frames are given by the niche structure. We consider the recently popular idea of niche construction and relate it to the plasticity of the phenotype. We derive a form of phenotype plasticity from the hidden (unused) and explicit (functional) factors discussed in the causality part. (d) What are the main hypotheses about complexity growth that can actually be tested? We hypothesize that a rich natural phenotype that supports causality-function conversions is a necessary ingredient of complexity growth. We review our work on the FATINT system, which incorporates similar ideas in a computer simulation, and shows that full-body phenotypes are sufficient for achieving functional evolution. (e) What language is most appropriate for speaking about the evolution of complexity in living systems? FATINT is developed using advanced agent-based modeling techniques, and we discuss the general relevance of this methodology for understanding and simulating the phenomena discussed.