Given up on using metatables.