GameObject framework