More low level (userdata) implementation).