That line makes me feel like this is the wrong API.  Instead, perhaps we should have this public structure:

<pre>
Razor::Data::Command.start(name, data.dup, app.user.principal) do
  # existing code
end
</pre>

That makes the store implicit, and all, as well as allowing the mutation of the result to happen out-of-line to the user.

Also, calling a class method on the current class like that feels wrong.  Very wrong.  Either `self.class.start`, or better, use `def_delegators 'self.class', 'start'` and name "start" more appropriately.