I have tried doing things in the following order

  1. Construct Smart.App object with blank parameter (aka {})
  2. Inject new span with double bracket into body after page load
  3. Set data value

It does not appear to replace the value contained in double brackets — it just continues to display the double brackets.
Adding the data value before the span has been injected, but after page load, does not appear to have any difference.
In addition, swapping the order of steps 1 and 2 appears to cause the entire page to blank out, including elements unrelated to the operation.