--[[ Classy.lua A wrapper for defining classes that inherit from widgets --]] local Classy = LibStub:NewLibrary('Classy-1.0', 0) if not Classy then return end function Classy:New(frameType, parentClass) local class = CreateFrame(frameType) class.mt = {__index = class} if parentClass then class = setmetatable(class, {__index = parentClass}) class.super = function(self, method, ...) parentClass[method](self, unpack(arg)) end end class.Bind = function(self, obj) return setmetatable(obj, self.mt) end return class end