Three measures of functionality in artificial life