Based on Imgui in lua, and implement with OO