Когда в Lua требуется создаться много одинаковых объектов и одинаково управлять ими, невольно задумаешься о классах и объектах. Вот только в Lua в явном виде нет классов и ООП как такового вообще. Но, тем не менее, реализовать некоторое подобие классов можно используя таблицы и мета-таблицы.