Dynamo was bourne out of a need to create a system that natively supported code reuse and platform stability.
In a traditional Service-oriented architecture, multiple instance of a particular service has to be created for different clients even if the service is essentially the same and the codebase with very little difference. Dynamo was created to be able to aggregate that particular service so that it can serve for those different clients with very little configurations.
Dynamo takes an approach of taking every possible user interaction as a process which is built to host a collection of steps that the user can walk through to achieve a collective goal. Processors are run in-between to process the data generated during this users interaction.