Don't allocate objects to enforce iterfaces.

Pointed out by @jrick