#ifndef BREEZE_FSM_H
#define BREEZE_FSM_H

#include "../defines.h"

#define BZ_FSM_STACK_SIZE 2

typedef void(*BzFSMFn)(void *data);

typedef struct BzFSMState {
    BzFSMFn enter;
    BzFSMFn exit;
    BzFSMFn update;
} BzFSMState;

void bzFSMSetState(BzFSMState *state, const BzFSMState *newState, void *data);



#endif //BREEZE_FSM_H
