ObjectData C implementation written in rage mode, it doesn't even compile yet