After reading through the Segment.io and Mixpanel documentation and speaking with Segment.io's support team, I've concluded that metadata from the preceding `identify` call is associated with each event, and that calls of Segment.io's library functions are always executed in the order they're sent. Here's the behavior we can expect:

> `analytics.identify("10", { "foo": "bar" });`
`foo` trait sent to Mixpanel and superproperty saved

> `analytics.track("Problem Checked");`
`foo: bar` sent as an *event property* (since it's a superproperty)

> `analytics.track("Problem Checked");`
`foo: bar` sent as an *event property* (since it's a superproperty)

> `analytics.identify("10", { "foo": "baz" });`
`foo` trait updated and Mixpanel superproperty updated

> `analytics.track("Problem Checked");`
`foo: baz` sent as an *event property* (since it's the new value of the foo super property)

In this case, filtering by `foo == bar` will return two events, and filtering by `foo == baz` will return one event.

The `page` function behaves just like `track` when passed a name (e.g., `analytics.page('Home');`).