The classical methods of describing finite state transition systems such as state diagrams, regular expressions, finite automata, and semigroups, are not well suited to describing systems with complex control or very large state sets. Since the finite state systems of interest in computer engineering tend to possess both these characteristics, an alternative approach is of interest. A method based on a modal (state dependent) extension of the primitive recursive functions is presented here. We show that a rule allowing for definition of functions which depend on past input signals is sufficient for obtaining a class of functions which constructively specify every Moore machine. We also show that there are simple forms of function composition that correspond to quite sophisticated automata products, including the generalized feedback product and the wreath products. State system definitions in terms of modal functions are often a great deal more concise and intuitively transparent than the corresponding definitions in terms of traditional techniques.