All of your points are true. But imagine an API for creating your object in a game.
You have x, y, x_vel, y_vel, facing_direction, type_of_object, object_ID, and more.
spawn(0, 0, 0, 0, DIR_NORTH, OBJ_TELEPORTER, 100012, 0,0,0,0,0,0,0,0,0,0,...many optional parameters);
Isn't super confusing, but: