state.new_usertype<CppObject>('CppObject', 'TestFunction1', &CppObject::TestFunction1);
state.do_string('cppObj = CppObject:new() cppObj:TestFunction1()');
state['package']['path'] = (package_path + ';scripts/middleclass.lua').c_str();
state.do_file('scripts/TestClass.lua');
state.do_string('testObj = TestClass:new() testObj.TestFunctionCall()');
m_luaObjectData = (*m_pLuaState)[m_scriptVarName];
m_pLuaState->script(luaScript, [&isValidCreation](lua_State* state, sol::protected_function_result res) { isValidCreation = false; return res; });