%CATIMMORTAL - run the virtual cat finite state machine with a
%feedback loop to ensure the cat does not die
%initialize
driverState = 'happy';
catState = 'happy';
for i=1:10
    %feed or time passes base on the state
    in = feeder(driverState);
    %what the cat decided to do with feed or time passes
    catOut = chooserow(possibleChooseUpdate(catState, in));
    catState = catOut{1};
    out = catOut{2};
    %driver state should be the same as the cat state
    driverState = catState;
    driverOut = feedbackUpdate(driverState, out);
    driverState = driverOut{1};
    disp(out)
end