Stateful provides the methods to store and check arbitrary states which the inheritor can use to make sure state requirements are met before a function is called.
onlyWhen(bytes32 name, bool state)
This modifier checks if certain state variable is in a desired state.
function setState(bytes32 name, bool set) external onlyBy("gov")
Sets the state of a given module. Only callable by the governance address.
function setShutdownState() external onlyBy("shutdown")
Set the "shutdown" state to true