Maybe the biggest advantage is the plugin system and how those can be hooked to the execution. Developer focuses on writing a LEGO brick that can be used as a part of execution. Also different plugins do not need to care about existence of other plugins, but on the other hand those plugins can be chained by firing and listening to events.