This task is to add and integrate infrastructure to store per-session runtime information and to serialize concurrent calls for the same session.
Serializing calls for the same session has the benefit that the shared state does not need to be thread-safe which simplifies the command execution logic.