class creation with inheritance and constructor
$ luarocks install class
This module provides helper functions to create and work with classes.
A class can implement prototype methods shared among all its instances.
A class can implement an initialize method that will be called for new instances.
A class can inherit from another class, prototype methods are inherited by the subclasses.