one of possible programming paradigms is 'object oriented programming'.
reality is modelled somehow, for example, using graphical notation as Shlaer-Mellor, UML, custom hybrid, etc ...
objects representing something are arranged in a graph data structure.
each of object has set of possible states as well as transitions between these, as well as cause(s) of these transitions.
in one of possible designs & models of 'reality', more or less 'real' or 'useful' for 'certain problem's solution'.
not every problem must be 'realistic' or 'adhere to common sense', this can be 'abstract problem', 'hypothetical problem', 'philosophical problem', 'mathematical problem', 'theoretical problem', etc ... they are useful nevertheless for certain people that think that way.
we have object: 'Cat' in 'awake' state.
'Cat' in 'awake state' can transit to 'sleeping' or 'walking' state.
'Cat' in 'sleeping' state can transit to 'awake' state.
'Cat' in 'walking state' can transit to 'awake' or 'sleeping state'.
in given state 'Cat' behaves differently, perhaps sending messages to other objects, perhaps doing something 'internal' instead or as well.
this can be modelled using finite state automatons.
perhaps in our 'surreal model of reality' cats can talk with each other by sending messages to other 'Cat' objects, or other 'Animal' objects as well, for example 'Dog' objects.
this is called 'talking objects' system design, modelling, programming, etc ...
sending 'message' from one object to another, often containing 'parameters' or 'value' can cause 'state change' in 'target object'.
for example 'Cat' can send message to 'Dog' with 'value' of 'get lost'.
or for example 'Cat' can send message to 'Dog' with 'value' of 'eat your friends'.
different 'values' can cause different 'state change(s)' in 'target object'.
different solutions use different models for different objects even if their names are the same.
there can be many possible models of 'Cat' each behaving differently, depending of what we wish to model ...
- is it 'Alley Cat Computer Game' ?
- is it 'Cat Hospital' management application ?
in each of these models 'Cat' is seen & modelled differently, has different possible states & state transition methods.
it's a different object.
everything depends on context as well.
see also, if You wish or need ... : Conversation State, Practice, Object Relationships Modelling & Analysis.
see also, if You must: 'Make friends with strange cats' on deviantART.