meanings evaluted only as needed; stored in state