Make static geometry asynchronous.

This uses the private `Primitive._state` variable, which should be made public.