Understanding the Block Class

I am trying to understand the code underlying the control system architecture. The classes for the P, PI, and PID controllers all inherit from the Block or SuperBlock class (declared in src/lib/controllib/block/Block.hpp). I am having a bit of trouble with understanding what the purposes are of this class and what we are considering conceptually to be a “control block”.

Any light shed on this topic would be helpful. Thanks in advance.