a c++ framework to implement blocks of logic which can be tied together (in chains)