Don't allow - in variable names.
Node data should always have a key.
Remove unused Context::set()