Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
You can also do a state machine implementation. There are a few specific ones in the cypress app notes or you can use something like the QP framework (http://www.state-machine.com/). It was fairly easy to get that one runing, though actually using it has a bit of a steep and long learning curve (at least for me)