Blocks framework allows the user to completely redefine the way their application runs, by simply changing a configuration file. Different from Spring, where the instances can be swapped out at run time, this framework allows the user to completely redefine the structure of their application from inside their configuration.