# States

If you understood the concept of [Actions](https://framework.deep-web-solutions.com/foundations-module/actions), then States should be simple to grasp. This namespace contains interfaces that describe objects which can be in a certain state. The following interfaces are declared

* [`ActiveableInterface`](https://github.com/deep-web-solutions/wordpress-framework-foundations/blob/master/src/includes/States/ActiveableInterface.php) -- describes an objects that implements an `is_active` method
* [`DisableableInterface`](https://github.com/deep-web-solutions/wordpress-framework-foundations/blob/master/src/includes/States/DisableableInterface.php) -- describes an object that implements an `is_disabled` method

The key difference to actions is that state methods return a plain boolean value.

{% hint style="info" %}
There are semantic differences between the two states. An object is expected to be active and *not* disabled by default. Should an object implement both states, disablement should take precedence.
{% endhint %}

Just like with actions, states also come with a set of local and extension traits. There are no integration traits however. The only difference is that the local and extension methods return a boolean instead of a nullable exception. You can look over the traits for the active state [here ](https://github.com/deep-web-solutions/wordpress-framework-foundations/tree/master/src/includes/States/Activeable)and the traits for the disabled state [here](https://github.com/deep-web-solutions/wordpress-framework-foundations/tree/master/src/includes/States/Disableable).
