I think “tables” is a bit too non-specific, though, given that tables are used for so many different things in Lua.
There has to be some name for the kind of table use that allows something very like classes and instantiation of objects with their own independent properties and methods.
I do tend to get hung up on these kind of terminology issues though. It’s a prevarication thing, I think 
Incidentally, does anyone have any thoughts for or against using anonymous functions as clock callbacks, rather than calling a named function as in the docs?
==========================
Here’s another one: when writing modules, what are the relative benefits and drawbacks of using local variables declared at the top of the module file, over vars rolled into the module table?
local may_var = true
local Module = {}
-- Module functions etc.
return Module
vs.
local Module = {}
Module.myVar = true
-- Module functions etc.
return Module
I’ve been using a mixture of the two, but without any particular logic to my choice of one or the other, in any given case.