Redesign cl_platform: struct -> class