Remove unnecessary cleanup functions

The base metatable covers it.
Refactor away the huge think function

Separate it into its component parts and avoid the annoying if pyramids
in doing so.