Yeah, that was probably the hackiest part of the whole pull request. It was necessary for these to work:

```S
# Using custom scale name for a known property (fill)
df <- data.frame(x = 1:5, y = 5:1, z = runif(5))
df %>% ggvis(x = ~x, y = ~x, fill = prop(~z, scale = "blah")) %>%
  layer_points()

# Use props like x2, y2
df %>% ggvis(x = ~x, y = ~x, x2 = ~x+1, y2 = ~x+1) %>%
  layer_rects()
```