state machines = automata that take a finite number of inputs and output a finite amount of output.
derived state: selectors = functions that receive state as a paramater and make a determination based on that state.
function isOld(state){return state.age > 50}