tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8706d03b43a59578e9c0965545efbc13f4407cab

commit 8706d03b43a59578e9c0965545efbc13f4407cab
Author: Tom Hacohen <t...@stosb.com>
Date:   Tue Mar 15 14:07:52 2016 +0000

    Change the EFL according to the renaming of the eo_add() current object.
---
 src/examples/ecore/ecore_idler_example.c           |  2 +-
 src/examples/ecore/ecore_poller_example.c          |  6 +++---
 src/examples/eldbus/dbusmodel.c                    |  2 +-
 src/examples/evas/evas-3d-aabb.c                   | 10 ++++-----
 src/examples/evas/evas-3d-blending.c               | 10 ++++-----
 src/examples/evas/evas-3d-colorpick.c              |  8 ++++----
 src/examples/evas/evas-3d-cube-rotate.c            |  8 ++++----
 src/examples/evas/evas-3d-cube.c                   |  8 ++++----
 src/examples/evas/evas-3d-cube2.c                  |  8 ++++----
 src/examples/evas/evas-3d-eet.c                    | 10 ++++-----
 src/examples/evas/evas-3d-fog.c                    | 12 +++++------
 src/examples/evas/evas-3d-frustum.c                | 10 ++++-----
 src/examples/evas/evas-3d-hull.c                   | 12 +++++------
 src/examples/evas/evas-3d-md2.c                    |  8 ++++----
 src/examples/evas/evas-3d-mmap-set.c               |  8 ++++----
 src/examples/evas/evas-3d-obj.c                    |  8 ++++----
 src/examples/evas/evas-3d-parallax-occlusion.c     |  8 ++++----
 src/examples/evas/evas-3d-pick.c                   |  6 +++---
 src/examples/evas/evas-3d-ply.c                    |  8 ++++----
 src/examples/evas/evas-3d-proxy.c                  |  8 ++++----
 src/examples/evas/evas-3d-shadows.c                | 24 +++++++++++-----------
 src/examples/evas/evas-vg-simple.c                 | 24 +++++++++++-----------
 src/examples/evas/shooter/evas-3d-shooter-header.c |  6 +++---
 src/examples/evas/shooter/evas-3d-shooter-macros.h |  2 +-
 src/examples/evas/shooter/evas-3d-shooter.c        |  4 ++--
 src/lib/ecore/ecore_anim.c                         |  4 ++--
 src/lib/ecore/ecore_exe.c                          |  2 +-
 src/lib/ecore/ecore_idle_enterer.c                 |  4 ++--
 src/lib/ecore/ecore_idle_exiter.c                  |  2 +-
 src/lib/ecore/ecore_idler.c                        |  2 +-
 src/lib/ecore/ecore_job.c                          |  2 +-
 src/lib/ecore/ecore_poller.c                       |  2 +-
 src/lib/ecore/ecore_timer.c                        |  4 ++--
 src/lib/ecore_con/ecore_con.c                      |  6 +++---
 src/lib/ecore_con/ecore_con_eet.c                  |  4 ++--
 src/lib/ecore_con/ecore_con_url.c                  |  2 +-
 src/lib/ector/cairo/ector_cairo_surface.c          |  6 +++---
 src/lib/ector/gl/ector_gl_surface.c                |  6 +++---
 src/lib/ector/software/ector_software_surface.c    |  8 ++++----
 src/lib/edje/edje_load.c                           |  6 +++---
 src/lib/edje/edje_multisense.c                     |  6 +++---
 src/lib/eio/eio_model.c                            |  4 ++--
 src/lib/eldbus/eldbus_model_connection.c           |  2 +-
 src/lib/eldbus/eldbus_model_object.c               |  2 +-
 src/lib/eldbus/eldbus_model_proxy.c                |  4 ++--
 src/lib/evas/canvas/evas_canvas3d_node.c           |  2 +-
 src/lib/evas/canvas/evas_object_image.c            |  7 ++-----
 src/lib/evas/canvas/evas_vg_container.c            |  2 +-
 src/lib/evas/canvas/evas_vg_node.c                 |  2 +-
 src/lib/evas/canvas/evas_vg_shape.c                |  6 +++---
 src/modules/evas/engines/gl_generic/evas_engine.c  |  6 +++---
 .../evas/engines/software_generic/evas_engine.c    |  4 ++--
 src/tests/ecore/ecore_test_animator.c              |  4 ++--
 src/tests/eio/eio_model_test_file.c                |  2 +-
 src/tests/eio/eio_model_test_monitor_add.c         |  2 +-
 src/tests/eldbus/eldbus_test_eldbus_model.c        |  4 ++--
 src/tests/eldbus/eldbus_test_eldbus_model_method.c |  2 +-
 src/tests/eldbus/eldbus_test_eldbus_model_signal.c |  2 +-
 .../eldbus_test_fake_server_eldbus_model_proxy.c   |  2 +-
 src/tests/eo/constructors/constructors_main.c      |  4 ++--
 src/tests/eo/suite/eo_test_general.c               |  8 ++++----
 src/tests/eo/suite/eo_test_threaded_calls.c        |  2 +-
 .../eolian_js_test_constructor_method_impl.c       |  4 ++--
 src/tests/evas/evas_test_image.c                   |  2 +-
 64 files changed, 181 insertions(+), 184 deletions(-)

diff --git a/src/examples/ecore/ecore_idler_example.c 
b/src/examples/ecore/ecore_idler_example.c
index aa749d9..8831a4d 100644
--- a/src/examples/ecore/ecore_idler_example.c
+++ b/src/examples/ecore/ecore_idler_example.c
@@ -110,7 +110,7 @@ main(void)
    ctxt.enterer = ecore_idle_enterer_add(_enterer_cb, &ctxt);
    ctxt.exiter = ecore_idle_exiter_add(_exiter_cb, &ctxt);
    ctxt.idler = ecore_idler_add(_idler_cb, &ctxt);
-//   ctxt.idler = eo_add(ECORE_IDLER_CLASS, NULL, 
ecore_idler_constructor(eoid, _idler_cb, &ctxt));
+//   ctxt.idler = eo_add(ECORE_IDLER_CLASS, NULL, 
ecore_idler_constructor(eo_self, _idler_cb, &ctxt));
    ctxt.handler = ecore_event_handler_add(_event_type,
                                           _event_handler_cb,
                                           &ctxt);
diff --git a/src/examples/ecore/ecore_poller_example.c 
b/src/examples/ecore/ecore_poller_example.c
index e60c20a..73a09b3 100644
--- a/src/examples/ecore/ecore_poller_example.c
+++ b/src/examples/ecore/ecore_poller_example.c
@@ -48,9 +48,9 @@ main(void)
    poller2 = ecore_poller_add(ECORE_POLLER_CORE, 8, _poller_print_cb, str2);
    poller3 = ecore_poller_add(ECORE_POLLER_CORE, 30, _poller_quit_cb, str3);
 
-//   poller1 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eoid, ECORE_POLLER_CORE, 4, _poller_print_cb, str1));
-//   poller2 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eoid, ECORE_POLLER_CORE, 8, _poller_print_cb, str2));
-//   poller3 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eoid, ECORE_POLLER_CORE, 20, _poller_quit_cb, str3));
+//   poller1 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eo_self, ECORE_POLLER_CORE, 4, _poller_print_cb, 
str1));
+//   poller2 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eo_self, ECORE_POLLER_CORE, 8, _poller_print_cb, 
str2));
+//   poller3 = eo_add(ECORE_POLLER_CLASS, NULL, //         
ecore_poller_constructor(eo_self, ECORE_POLLER_CORE, 20, _poller_quit_cb, 
str3));
 
 
    ecore_main_loop_begin();
diff --git a/src/examples/eldbus/dbusmodel.c b/src/examples/eldbus/dbusmodel.c
index b34799b..3585fad 100644
--- a/src/examples/eldbus/dbusmodel.c
+++ b/src/examples/eldbus/dbusmodel.c
@@ -102,7 +102,7 @@ main(int argc, char **argv EINA_UNUSED)
    if (argc > 1) bus = argv[1];
    if (argc > 2) path = argv[2];
 
-   root = eo_add_ref(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, bus, path));
+   root = eo_add_ref(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, bus, path));
 
    eo_event_callback_add(root, EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_event_load_status_cb, NULL);
    efl_model_load(root);
diff --git a/src/examples/evas/evas-3d-aabb.c b/src/examples/evas/evas-3d-aabb.c
index a5ef7b1..0ee6dbb 100644
--- a/src/examples/evas/evas-3d-aabb.c
+++ b/src/examples/evas/evas-3d-aabb.c
@@ -144,13 +144,13 @@ main(void)
 
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 60.0, 1.0, 1.0, 
500.0);
 
    camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 100.0, 50.0, 20.0);
@@ -162,7 +162,7 @@ main(void)
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
    light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 1000.0, 0.0, 1000.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
@@ -189,8 +189,8 @@ main(void)
    evas_canvas3d_material_color_set(material, 
EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_material_shininess_set(material, 50.0);
 
-   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
-   mesh_box_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_box_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    material_box = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas);
    evas_canvas3d_material_enable_set(material_box, 
EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE);
diff --git a/src/examples/evas/evas-3d-blending.c 
b/src/examples/evas/evas-3d-blending.c
index 862d08d..55eabff 100644
--- a/src/examples/evas/evas-3d-blending.c
+++ b/src/examples/evas/evas-3d-blending.c
@@ -148,7 +148,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 60.0, 1.0, 
2.0, 50.0);
 
   data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
 
   evas_canvas3d_node_camera_set(data->camera_node, data->camera);
   evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 10.0);
@@ -166,7 +166,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -215,13 +215,13 @@ _mesh_setup(Scene_Data *data)
    _set_ball(data->mesh1, data->sphere, data->material1);
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
 
    data->mesh_node1 =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node1);
    evas_canvas3d_node_mesh_add(data->mesh_node1, data->mesh1);
@@ -243,7 +243,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, 0.5, 0.5, 0.5, 1);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-colorpick.c 
b/src/examples/evas/evas-3d-colorpick.c
index d90e3f5..e13f4cc 100644
--- a/src/examples/evas/evas-3d-colorpick.c
+++ b/src/examples/evas/evas-3d-colorpick.c
@@ -274,13 +274,13 @@ _init_scene(const char *texture)
 
    globalscene.scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
-   globalscene.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   globalscene.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    globalscene.camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(globalscene.camera, 30.0, 
1.0, 1.0, 1000.0);
 
    globalscene.camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(globalscene.camera_node, globalscene.camera);
    evas_canvas3d_node_member_add(globalscene.root_node, 
globalscene.camera_node);
    evas_canvas3d_node_position_set(globalscene.camera_node, 0.0, 30.0, 800.0);
@@ -292,7 +292,7 @@ _init_scene(const char *texture)
    evas_canvas3d_light_directional_set(globalscene.light, EINA_TRUE);
 
    globalscene.light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(globalscene.light_node, globalscene.light);
    evas_canvas3d_node_position_set(globalscene.light_node, 100.0, 50.0, 300.0);
    evas_canvas3d_node_look_at_set(globalscene.light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 1.0, 
1.0, 1.0);
@@ -313,7 +313,7 @@ _init_scene(const char *texture)
              m->material = spheretmp->material;
              m->texture = spheretmp->texture;
           }
-        m->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+        m->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
         m->speed = tmp;
         m->sphere_animate = _animate_sphere;
         m->animate = ecore_timer_add(m->speed, m->sphere_animate, m);
diff --git a/src/examples/evas/evas-3d-cube-rotate.c 
b/src/examples/evas/evas-3d-cube-rotate.c
index 29448d8..a59851e 100644
--- a/src/examples/evas/evas-3d-cube-rotate.c
+++ b/src/examples/evas/evas-3d-cube-rotate.c
@@ -151,7 +151,7 @@ _camera_setup(Scene_Data *data)
    data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(data->camera, 20.0, 1.0, 
2.0, 50.0);
 
-   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 3.0, 3.0, 10.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -168,7 +168,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_diffuse_set(data->light, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
-   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
 
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 5.0, 5.0, 10.0);
@@ -201,7 +201,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_mesh_shade_mode_set(data->mesh, 
EVAS_CANVAS3D_SHADE_MODE_PHONG);
    evas_canvas3d_mesh_frame_material_set(data->mesh, 0, data->material);
 
-   data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
 }
@@ -210,7 +210,7 @@ static void
 _scene_setup(Scene_Data *data)
 {
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
-   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    evas_canvas3d_scene_size_set(scene, WIDTH, HEIGHT);
    evas_canvas3d_scene_background_color_set(scene, 0.0, 0.0, 0.0, 0.0);
diff --git a/src/examples/evas/evas-3d-cube.c b/src/examples/evas/evas-3d-cube.c
index 9f0707f..50508ab 100644
--- a/src/examples/evas/evas-3d-cube.c
+++ b/src/examples/evas/evas-3d-cube.c
@@ -138,7 +138,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 60.0, 1.0, 
2.0, 50.0);
 
    data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -154,7 +154,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -188,7 +188,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_mesh_frame_material_set(data->mesh, 0, data->material);
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
 }
@@ -201,7 +201,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, 0.0, 0.0, 0.0, 0.0);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-cube2.c 
b/src/examples/evas/evas-3d-cube2.c
index baa77c0..34ed28e 100644
--- a/src/examples/evas/evas-3d-cube2.c
+++ b/src/examples/evas/evas-3d-cube2.c
@@ -115,7 +115,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 60.0, 1.0, 
2.0, 50.0);
 
    data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 3.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -131,7 +131,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -188,7 +188,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_mesh_shade_mode_set(data->mesh, 
EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP);
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
 }
@@ -201,7 +201,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, 0.0, 0.0, 0.0, 0.0);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-eet.c b/src/examples/evas/evas-3d-eet.c
index 5785a0b..bae330c 100644
--- a/src/examples/evas/evas-3d-eet.c
+++ b/src/examples/evas/evas-3d-eet.c
@@ -118,13 +118,13 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 60.0, 1.0, 1.0, 
500.0);
 
-   camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 200.0, 0.0, 40.0);
@@ -136,7 +136,7 @@ main(void)
    evas_canvas3d_light_specular_set(light, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
-   light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 1000.0, 0.0, 1000.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
@@ -169,13 +169,13 @@ main(void)
    efl_file_set(mesh2, output_model_path, NULL);
    evas_canvas3d_mesh_shade_mode_set(mesh2, EVAS_CANVAS3D_SHADE_MODE_PHONG);
 
-   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(root_node, mesh_node);
    evas_canvas3d_node_mesh_add(mesh_node, mesh);
    evas_canvas3d_node_position_set(mesh_node, 0.0, -40.0, 0.0);
 
-   mesh_node2 = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_node2 = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(root_node, mesh_node2);
    evas_canvas3d_node_mesh_add(mesh_node2, mesh2);
    evas_canvas3d_node_position_set(mesh_node2, 0.0, 40.0, 0.0);
diff --git a/src/examples/evas/evas-3d-fog.c b/src/examples/evas/evas-3d-fog.c
index 4518dc6..a7d17cf 100644
--- a/src/examples/evas/evas-3d-fog.c
+++ b/src/examples/evas/evas-3d-fog.c
@@ -86,7 +86,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 60.0, 1.0, 
2.0, 50.0);
 
   data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
 
   evas_canvas3d_node_camera_set(data->camera_node, data->camera);
   evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 7.0);
@@ -104,7 +104,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -144,10 +144,10 @@ _mesh_setup(Scene_Data *data)
    _set_ball(data->mesh1, data->sphere, data->material);
 
    data->animation_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->animation_node, data->mesh_node);
    evas_canvas3d_node_member_add(data->root_node, data->animation_node);
@@ -155,7 +155,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_node_position_set(data->mesh_node, 0.0, 0.0, 3.0);
 
    data->mesh_node1 =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node1);
    evas_canvas3d_node_mesh_add(data->mesh_node1, data->mesh1);
@@ -176,7 +176,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, FOG_COLOR, 1);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-frustum.c 
b/src/examples/evas/evas-3d-frustum.c
index b0d1733..062a8cd 100644
--- a/src/examples/evas/evas-3d-frustum.c
+++ b/src/examples/evas/evas-3d-frustum.c
@@ -280,7 +280,7 @@ static void
 _camera_setup(Scene_Data *data)
 {
    data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
-   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 300.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -298,7 +298,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_diffuse_set(data->light, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
-   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 200.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 1.0);
@@ -339,7 +339,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_mesh_frame_material_set(data->mesh_sphere, 0, data->material);
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh_aabb);
 }
@@ -376,13 +376,13 @@ _scene_setup(Scene_Data *data)
 {
    data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
-   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _light_setup(data);
    _mesh_setup_model(data);
    _camera_setup(data);
 
-   data->mesh_node_model = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   data->mesh_node_model = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_position_set(data->mesh_node_model, obj_x, obj_y, obj_z);
    evas_canvas3d_node_orientation_angle_axis_set(data->mesh_node_model, -90, 
1.0, 0.0, 0.0);
    evas_canvas3d_node_scale_set(data->mesh_node_model, obj_sc_x, obj_sc_y, 
obj_sc_z);
diff --git a/src/examples/evas/evas-3d-hull.c b/src/examples/evas/evas-3d-hull.c
index f65ad13..ba4bbe0 100644
--- a/src/examples/evas/evas-3d-hull.c
+++ b/src/examples/evas/evas-3d-hull.c
@@ -260,7 +260,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 60.0, 1.0, 
2.0, 50.0);
 
    data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -276,7 +276,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -354,7 +354,7 @@ _mesh_setup(Scene_Data *data)
    MODEL_MESH_INIT(blender_test_sonic, sonic_test, DIFFUSE)
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh_sphere);
    evas_canvas3d_node_scale_set(data->mesh_node, SCALE_SPHERE, SCALE_SPHERE, 
SCALE_SPHERE);
@@ -372,14 +372,14 @@ _mesh_setup(Scene_Data *data)
    _print_result(data->mesh_sphere_ch, data->mesh_blender_test_sphere);
 
    data->mesh_node_convex_hull =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node_convex_hull);
    evas_canvas3d_node_position_set(data->mesh_node_convex_hull, 0.0, 0.0, 0.0);
    evas_canvas3d_node_scale_set(data->mesh_node_convex_hull, SCALE_SPHERE, 
SCALE_SPHERE, SCALE_SPHERE);
    evas_canvas3d_node_mesh_add(data->mesh_node_convex_hull, 
data->mesh_sphere_ch);
 
    data->mesh_node_blender =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node_blender);
    evas_canvas3d_node_position_set(data->mesh_node_blender, -3.0, 0.0, 0.0);
    evas_canvas3d_node_scale_set(data->mesh_node_blender, SCALE_SPHERE, 
SCALE_SPHERE, SCALE_SPHERE);
@@ -394,7 +394,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, 0.0, 0.0, 0.0, 0.0);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-md2.c b/src/examples/evas/evas-3d-md2.c
index b3ea48e..a57deca 100644
--- a/src/examples/evas/evas-3d-md2.c
+++ b/src/examples/evas/evas-3d-md2.c
@@ -94,14 +94,14 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 60.0, 1.0, 1.0, 
500.0);
 
    camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 100.0, 0.0, 20.0);
@@ -114,7 +114,7 @@ main(void)
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
    light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 1000.0, 0.0, 1000.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
@@ -142,7 +142,7 @@ main(void)
    evas_canvas3d_material_color_set(material, 
EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_material_shininess_set(material, 50.0);
 
-   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(root_node, mesh_node);
    evas_canvas3d_node_mesh_add(mesh_node, mesh);
 
diff --git a/src/examples/evas/evas-3d-mmap-set.c 
b/src/examples/evas/evas-3d-mmap-set.c
index ec48336..d51b1f9 100644
--- a/src/examples/evas/evas-3d-mmap-set.c
+++ b/src/examples/evas/evas-3d-mmap-set.c
@@ -36,7 +36,7 @@
    efl_file_mmap_set(mesh_##extention, extention##_file, NULL); \
    evas_canvas3d_mesh_frame_material_set(mesh_##extention, 0, material); \
    evas_canvas3d_mesh_shade_mode_set(mesh_##extention, 
EVAS_CANVAS3D_SHADE_MODE_PHONG);                      \
-   node_##extention = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));          \
+   node_##extention = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));         
 \
    evas_canvas3d_node_member_add(root_node, node_##extention);                 
      \
    evas_canvas3d_node_mesh_add(node_##extention, mesh_##extention); \
    evas_canvas3d_node_position_set(node_##extention, initial_node_data[number 
* 10], \
@@ -184,14 +184,14 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 10.0, 1.0, 1.0, 
500.0);
 
    camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 0.0, 0.0, 100.0);
@@ -204,7 +204,7 @@ main(void)
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
    light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 1.0, 0.0, 100.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
diff --git a/src/examples/evas/evas-3d-obj.c b/src/examples/evas/evas-3d-obj.c
index e3a94fc..1b68ff9 100644
--- a/src/examples/evas/evas-3d-obj.c
+++ b/src/examples/evas/evas-3d-obj.c
@@ -49,7 +49,7 @@
    efl_file_set(mesh[num], full_file_path, NULL); \
    evas_canvas3d_mesh_frame_material_set(mesh[num], 0, name_of_material); \
    evas_canvas3d_mesh_shade_mode_set(mesh[num], shade_mode);                   
             \
-   mesh_node[num] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));   \
+   mesh_node[num] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));   \
    evas_canvas3d_node_member_add(root_node, mesh_node[num]);                   
             \
    evas_canvas3d_node_mesh_add(mesh_node[num], mesh[num]); \
    evas_canvas3d_node_position_set(mesh_node[num], 0, Y, Z);                   
                  \
@@ -160,14 +160,14 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 20.0, 1.0, 1.0, 
500.0);
 
    camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 100.0, 0.0, 0.0);
@@ -180,7 +180,7 @@ main(void)
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
    light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 10.0, 0.0, 0.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
diff --git a/src/examples/evas/evas-3d-parallax-occlusion.c 
b/src/examples/evas/evas-3d-parallax-occlusion.c
index 0d770b7..061e852 100644
--- a/src/examples/evas/evas-3d-parallax-occlusion.c
+++ b/src/examples/evas/evas-3d-parallax-occlusion.c
@@ -108,7 +108,7 @@ _camera_setup(Scene_Data *data)
 
    evas_canvas3d_camera_projection_perspective_set(data->camera, 30.0, 1.0, 
2.0, 50.0);
 
-   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -123,7 +123,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_diffuse_set(data->light, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
-   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, -20.0, 20.0, 50.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -191,7 +191,7 @@ _mesh_setup(Scene_Data *data)
 
    evas_canvas3d_mesh_frame_material_set(data->mesh, 100, data->material_wood);
 
-   data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
    evas_canvas3d_node_scale_set(data->mesh_node, 3, 3, 3);
@@ -204,7 +204,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_size_set(data->scene, WIDTH, HEIGHT);
    evas_canvas3d_scene_background_color_set(data->scene, 0.0, 0.0, 0.0, 0.0);
 
-   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-pick.c b/src/examples/evas/evas-3d-pick.c
index a328b71..21d4116 100644
--- a/src/examples/evas/evas-3d-pick.c
+++ b/src/examples/evas/evas-3d-pick.c
@@ -135,14 +135,14 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 30.0, 1.0, 1.0, 
100.0);
 
    camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_position_set(camera_node, 0.0, 0.0, 2.5);
    evas_canvas3d_node_look_at_set(camera_node, EVAS_CANVAS3D_SPACE_PARENT, 
0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
@@ -169,7 +169,7 @@ main(void)
    evas_canvas3d_material_color_set(material, 
EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_material_shininess_set(material, 50.0);
 
-   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(root_node, mesh_node);
    evas_canvas3d_node_mesh_add(mesh_node, mesh);
diff --git a/src/examples/evas/evas-3d-ply.c b/src/examples/evas/evas-3d-ply.c
index acde565..8ec3233 100644
--- a/src/examples/evas/evas-3d-ply.c
+++ b/src/examples/evas/evas-3d-ply.c
@@ -133,13 +133,13 @@ main(void)
    scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas);
 
    /* Add the root node for the scene. */
-   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    /* Add the camera. */
    camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(camera, 60.0, 1.0, 1.0, 
500.0);
 
-   camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(camera_node, camera);
    evas_canvas3d_node_member_add(root_node, camera_node);
    evas_canvas3d_node_position_set(camera_node, 15.0, 0.0, 0.0);
@@ -151,7 +151,7 @@ main(void)
    evas_canvas3d_light_specular_set(light, 1.0, 1.0, 1.0, 1.0);
    evas_canvas3d_light_directional_set(light, EINA_TRUE);
 
-   light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(light_node, light);
    evas_canvas3d_node_position_set(light_node, 1000.0, 0.0, 1000.0);
    evas_canvas3d_node_look_at_set(light_node, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0);
@@ -196,7 +196,7 @@ main(void)
              evas_canvas3d_mesh_shade_mode_set(mesh[i], draw_mode[(i % 8)]);
           }
 
-        mesh_node[i] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+        mesh_node[i] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
         evas_canvas3d_node_member_add(root_node, mesh_node[i]);
         evas_canvas3d_node_mesh_add(mesh_node[i], mesh[i]);
         evas_canvas3d_node_position_set(mesh_node[i], 0, ((i % 4) * 4) + ((i / 
16) * 1) - 6.5, (((i % 16) / 4) * 4) - 6);
diff --git a/src/examples/evas/evas-3d-proxy.c 
b/src/examples/evas/evas-3d-proxy.c
index 246d8c3..0ae5693 100644
--- a/src/examples/evas/evas-3d-proxy.c
+++ b/src/examples/evas/evas-3d-proxy.c
@@ -104,7 +104,7 @@ _camera_setup(Scene_Data *data)
    evas_canvas3d_camera_projection_perspective_set(data->camera, 30.0, 1.0, 
2.0, 50.0);
 
    data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
    evas_canvas3d_node_camera_set(data->camera_node, data->camera);
    evas_canvas3d_node_position_set(data->camera_node, 0.0, 0.0, 5.0);
    evas_canvas3d_node_look_at_set(data->camera_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -120,7 +120,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 1.0, 1.0, 1.0, 1.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 0.0, 0.0, 10.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
1.0, 0.0);
@@ -157,7 +157,7 @@ _mesh_setup(Scene_Data *data)
    evas_canvas3d_mesh_frame_material_set(data->mesh, 0, data->material);
 
    data->mesh_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->root_node, data->mesh_node);
    evas_canvas3d_node_mesh_add(data->mesh_node, data->mesh);
@@ -171,7 +171,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, 0.0, 0.0, 0.0, 0.0);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
diff --git a/src/examples/evas/evas-3d-shadows.c 
b/src/examples/evas/evas-3d-shadows.c
index c9aefbd..4497308 100644
--- a/src/examples/evas/evas-3d-shadows.c
+++ b/src/examples/evas/evas-3d-shadows.c
@@ -200,7 +200,7 @@ _sphere_setup(Body_3D *sphere)
 
    _body_material_set(sphere, 1, 0.0, 0.0);
 
-   sphere->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH), 
evas_canvas3d_node_position_set(eoid, 3.0, 3.0, 0.0));
+   sphere->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH), 
evas_canvas3d_node_position_set(eo_self, 3.0, 3.0, 0.0));
    evas_canvas3d_node_mesh_add(sphere->node, sphere->mesh);
 }
 
@@ -217,7 +217,7 @@ _cone_setup(Body_3D *cone)
    _body_material_set(cone, 0.8, 0.5, 0.5);
 
    cone->node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(cone->node, cone->mesh);
    evas_canvas3d_node_orientation_angle_axis_set(cone->node, -90.0, 1.0, 0.0, 
0.0);
    evas_canvas3d_node_position_set(cone->node, -4.0, 0.0, -3.0);
@@ -236,7 +236,7 @@ _cylinder_setup(Body_3D *cylinder)
    _body_material_set(cylinder, 0.0, 0.0, 1.0);
 
    cylinder->node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(cylinder->node, cylinder->mesh);
    evas_canvas3d_node_orientation_angle_axis_set(cylinder->node, -90.0, 1.0, 
0.0, 0.0);
    evas_canvas3d_node_position_set(cylinder->node, -2.0, 3.0, 1.0);
@@ -284,7 +284,7 @@ _fence_setup(Body_3D *fence)
    evas_canvas3d_mesh_alpha_test_enable_set(fence->mesh, EINA_TRUE);
    evas_canvas3d_mesh_shade_mode_set(fence->mesh, 
EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP);
    fence->node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(fence->node, fence->mesh);
    evas_canvas3d_node_orientation_angle_axis_set(fence->node, -90.0, 1.0, 0.0, 
0.0);
    evas_canvas3d_node_scale_set(fence->node, 10.0, 10.0, 5.0);
@@ -303,7 +303,7 @@ _square_setup(Body_3D *square)
    _body_material_set(square, 0.4, 0.4, 0.4);
 
    square->node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(square->node, square->mesh);
    evas_canvas3d_node_position_set(square->node, 0.0, -1.0, 0.0);
    evas_canvas3d_node_scale_set(square->node, 30.0, 30.0, 30.0);
@@ -321,7 +321,7 @@ _box_setup(Body_3D *box)
 
    _body_material_set(box, 0, 1, 0);
 
-   box->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   box->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(box->node, box->mesh);
    evas_canvas3d_node_position_set(box->node, 3.0, 0.0, -3.0);
 }
@@ -349,7 +349,7 @@ _model_setup(Body_3D *model)
    evas_canvas3d_mesh_shade_mode_set(model->mesh, 
EVAS_CANVAS3D_SHADE_MODE_PHONG);
 
    model->node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(model->node, model->mesh);
    evas_canvas3d_node_scale_set(model->node, 0.1, 0.1, 0.1);
    evas_canvas3d_node_orientation_angle_axis_set(model->node, 120.0, -0.577, 
-0.577, -0.577);
@@ -380,7 +380,7 @@ _billboard_setup(Scene_Data *data)
    evas_canvas3d_mesh_blending_enable_set(data->billboard.mesh, EINA_TRUE);
    evas_canvas3d_mesh_blending_func_set(data->billboard.mesh, 
EVAS_CANVAS3D_BLEND_FUNC_SRC_ALPHA, 
EVAS_CANVAS3D_BLEND_FUNC_ONE_MINUS_SRC_ALPHA);
 
-   data->billboard.node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   data->billboard.node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
    evas_canvas3d_node_mesh_add(data->billboard.node, data->billboard.mesh);
    evas_canvas3d_node_position_set(data->billboard.node, 0.0, 2.0, 0.0);
    evas_canvas3d_node_scale_set(data->billboard.node, 2.2, 4.6, 4.0);
@@ -392,12 +392,12 @@ static void
 _camera_setup(Scene_Data *data)
 {
    data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
-   data->mediator = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->mediator = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    evas_canvas3d_camera_projection_perspective_set(data->camera, 50.0, 1.0, 
2.0, 100.0);
 
   data->camera_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
 
   evas_canvas3d_node_camera_set(data->camera_node, data->camera);
 
@@ -420,7 +420,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_projection_perspective_set(data->light, 40.0, 1.0, 2.0, 
1000.0);
 
    data->light_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, 50.0, 50.0, 70.0);
    evas_canvas3d_node_look_at_set(data->light_node, 
EVAS_CANVAS3D_SPACE_PARENT, 15.0, 0.0, -5.0, EVAS_CANVAS3D_SPACE_PARENT, 0.0, 
0.0, 1.0);
@@ -438,7 +438,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_background_color_set(data->scene, BG_COLOR, 1);
 
    data->root_node =
-      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+      eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
 
    _camera_setup(data);
diff --git a/src/examples/evas/evas-vg-simple.c 
b/src/examples/evas/evas-vg-simple.c
index 2c0c702..329e7a7 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -449,15 +449,15 @@ vector_set(int x, int y, int w, int h)
    root = evas_object_vg_root_node_get(d.vg);
    //evas_vg_node_transformation_set(root, &matrix);
 
-   Efl_VG *bg = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, "bg"));
+   Efl_VG *bg = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"bg"));
    _rect_add(bg, 0, 0 , vg_w, vg_h);
    evas_vg_node_origin_set(bg, 0,0);
    evas_vg_shape_stroke_width_set(bg, 1.0);
    evas_vg_node_color_set(bg, 80, 80, 80, 80);
 
-   Efl_VG *shape = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, 
"shape"));
-   Efl_VG *rgradient = eo_add(EFL_VG_GRADIENT_RADIAL_CLASS, NULL, 
efl_vg_name_set(eoid, "rgradient"));
-   Efl_VG *lgradient = eo_add(EFL_VG_GRADIENT_LINEAR_CLASS, NULL, 
efl_vg_name_set(eoid, "lgradient"));
+   Efl_VG *shape = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"shape"));
+   Efl_VG *rgradient = eo_add(EFL_VG_GRADIENT_RADIAL_CLASS, NULL, 
efl_vg_name_set(eo_self, "rgradient"));
+   Efl_VG *lgradient = eo_add(EFL_VG_GRADIENT_LINEAR_CLASS, NULL, 
efl_vg_name_set(eo_self, "lgradient"));
 
    _arcto(shape, 0, 0, 100, 100, 25, 330);
 
@@ -498,7 +498,7 @@ vector_set(int x, int y, int w, int h)
    evas_vg_node_color_set(shape, 0, 0, 255, 255);
    evas_vg_shape_stroke_color_set(shape, 0, 0, 255, 128);
 
-   Efl_VG *rect = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, 
"rect"));
+   Efl_VG *rect = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"rect"));
    _rect_add(rect, 0, 0, 100, 100);
    evas_vg_node_origin_set(rect, 100, 100);
    evas_vg_shape_fill_set(rect, lgradient);
@@ -506,7 +506,7 @@ vector_set(int x, int y, int w, int h)
    evas_vg_shape_stroke_join_set(rect, EFL_GFX_JOIN_ROUND);
    evas_vg_shape_stroke_color_set(rect, 255, 255, 255, 255);
 
-   Efl_VG *rect1 = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, 
"rect1"));
+   Efl_VG *rect1 = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"rect1"));
    _rect_add(rect1, 0, 0, 70, 70);
    evas_vg_node_origin_set(rect1, 50, 70);
    evas_vg_shape_stroke_scale_set(rect1, 2);
@@ -514,7 +514,7 @@ vector_set(int x, int y, int w, int h)
    evas_vg_shape_stroke_join_set(rect1, EFL_GFX_JOIN_ROUND);
    evas_vg_shape_stroke_color_set(rect1, 0, 100, 80, 100);
 
-   Efl_VG *circle = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, 
"circle"));
+   Efl_VG *circle = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"circle"));
    _arcto(circle, 0, 0, 250, 100, 30, 300);
    evas_vg_shape_fill_set(circle, lgradient);
    //evas_vg_node_transformation_set(&matrix),
@@ -522,27 +522,27 @@ vector_set(int x, int y, int w, int h)
    evas_vg_node_color_set(circle, 50, 0, 0, 50);
 
    // Foreground
-   Efl_VG *fg = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, "fg"));
+   Efl_VG *fg = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"fg"));
    _rect_add(fg, 0, 0, vg_w, vg_h);
    evas_vg_node_origin_set(fg, 0, 0);
    evas_vg_shape_stroke_width_set(fg, 5.0);
    evas_vg_shape_stroke_join_set(fg, EFL_GFX_JOIN_ROUND);
    evas_vg_shape_stroke_color_set(fg, 70, 70, 0, 70);
 
-   Efl_VG *tst = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, 
"tst"));
+   Efl_VG *tst = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"tst"));
    evas_vg_shape_shape_append_rect(tst, 50, 25, 200, 200, 3, 5);
    evas_vg_node_color_set(tst, 0, 0, 200, 200);
    evas_vg_shape_stroke_width_set(tst, 2);
    evas_vg_shape_stroke_color_set(tst, 255, 0, 0, 255);
 
-   Efl_VG *vc = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eoid, "vc"));
+   Efl_VG *vc = eo_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(eo_self, 
"vc"));
    evas_vg_shape_shape_append_circle(vc, 100, 100, 23);
    evas_vg_node_color_set(vc, 0, 200, 0, 255);
    evas_vg_shape_stroke_width_set(vc, 4);
    evas_vg_shape_stroke_color_set(vc, 255, 0, 0, 255);
 
-   beginning = eo_add(EFL_VG_CONTAINER_CLASS, NULL, efl_vg_dup(eoid, root));
-   end = eo_add(EFL_VG_CONTAINER_CLASS, NULL, efl_vg_dup(eoid, root));
+   beginning = eo_add(EFL_VG_CONTAINER_CLASS, NULL, efl_vg_dup(eo_self, root));
+   end = eo_add(EFL_VG_CONTAINER_CLASS, NULL, efl_vg_dup(eo_self, root));
 
    circle = efl_vg_container_child_get(end, "circle");
    efl_vg_transformation_set(circle, &matrix);
diff --git a/src/examples/evas/shooter/evas-3d-shooter-header.c 
b/src/examples/evas/shooter/evas-3d-shooter-header.c
index ee608ba..62b36f8 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-header.c
+++ b/src/examples/evas/shooter/evas-3d-shooter-header.c
@@ -29,8 +29,8 @@ _camera_setup(Scene_Data *data)
    data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas);
    evas_canvas3d_camera_projection_perspective_set(data->camera, 65.0, 1.0, 
1.0, 300.0);
 
-   data->mediator_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
-   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+   data->mediator_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
 
    evas_canvas3d_node_member_add(data->root_node, data->mediator_node);
    evas_canvas3d_node_member_add(data->mediator_node, data->camera_node);
@@ -50,7 +50,7 @@ _light_setup(Scene_Data *data)
    evas_canvas3d_light_specular_set(data->light, 0.2, 0.2, 0.2, 1.0);
    evas_canvas3d_light_projection_perspective_set(data->light, 100.0, 1.0, 
1.0, 200.0);
 
-   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+   data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
 
    evas_canvas3d_node_light_set(data->light_node, data->light);
    evas_canvas3d_node_position_set(data->light_node, -30.0, 70.0, 0.0);
diff --git a/src/examples/evas/shooter/evas-3d-shooter-macros.h 
b/src/examples/evas/shooter/evas-3d-shooter-macros.h
index cae6417..ca85217 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-macros.h
+++ b/src/examples/evas/shooter/evas-3d-shooter-macros.h
@@ -147,7 +147,7 @@ typedef struct _vec2
 
 
 #define SETUP_MESH_NODE(Name)                                                  
           \
-   data->mesh_node_##Name = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));     \
+   data->mesh_node_##Name = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));     \
                                                                                
           \
    evas_canvas3d_node_mesh_add(data->mesh_node_##Name, data->mesh_##Name);
 
diff --git a/src/examples/evas/shooter/evas-3d-shooter.c 
b/src/examples/evas/shooter/evas-3d-shooter.c
index 9fcb47a..c7f549c 100644
--- a/src/examples/evas/shooter/evas-3d-shooter.c
+++ b/src/examples/evas/shooter/evas-3d-shooter.c
@@ -1004,7 +1004,7 @@ _scene_setup(Scene_Data *data)
    evas_canvas3d_scene_size_set(global_scene, WIDTH, HEIGHT);
    evas_canvas3d_scene_background_color_set(global_scene, 0.5, 0.5, 0.9, 0.0);
 
-   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_NODE));
+   data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_NODE));
 
    _camera_setup(data);
    _light_setup(data);
@@ -1069,7 +1069,7 @@ _scene_setup(Scene_Data *data)
           }
      }
 
-   data->carp_mediator_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eoid, EVAS_CANVAS3D_NODE_TYPE_MESH));
+   data->carp_mediator_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 
evas_canvas3d_node_constructor(eo_self, EVAS_CANVAS3D_NODE_TYPE_MESH));
 
    evas_canvas3d_node_member_add(data->carp_mediator_node, 
data->mesh_node_carpet);
 
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index d54e92f..5e5e034 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -372,7 +372,7 @@ ecore_animator_add(Ecore_Task_Cb func,
 {
    Ecore_Animator *animator = NULL;
 
-   animator = eo_add(MY_CLASS, _ecore_parent, ecore_animator_constructor(eoid, 
func, data));
+   animator = eo_add(MY_CLASS, _ecore_parent, 
ecore_animator_constructor(eo_self, func, data));
    return animator;
 }
 
@@ -388,7 +388,7 @@ ecore_animator_timeline_add(double            runtime,
                             const void       *data)
 {
    Ecore_Animator *animator;
-   animator = eo_add(MY_CLASS, _ecore_parent, 
ecore_animator_timeline_constructor(eoid, runtime, func, data));
+   animator = eo_add(MY_CLASS, _ecore_parent, 
ecore_animator_timeline_constructor(eo_self, runtime, func, data));
    return animator;
 }
 
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index 75c577b..97d5c16 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -67,7 +67,7 @@ ecore_exe_pipe_run(const char     *exe_cmd,
                    Ecore_Exe_Flags flags,
                    const void     *data)
 {
-   Ecore_Exe *ret = eo_add(MY_CLASS, NULL, ecore_obj_exe_command_set(eoid, 
exe_cmd, flags));
+   Ecore_Exe *ret = eo_add(MY_CLASS, NULL, ecore_obj_exe_command_set(eo_self, 
exe_cmd, flags));
    if (ret)
      {
         Ecore_Exe_Data *pd = eo_data_scope_get(ret, MY_CLASS);
diff --git a/src/lib/ecore/ecore_idle_enterer.c 
b/src/lib/ecore/ecore_idle_enterer.c
index a7cbfa5..2acf290 100644
--- a/src/lib/ecore/ecore_idle_enterer.c
+++ b/src/lib/ecore/ecore_idle_enterer.c
@@ -61,7 +61,7 @@ ecore_idle_enterer_add(Ecore_Task_Cb func,
                        const void   *data)
 {
    Ecore_Idle_Enterer *ie = NULL;
-   ie = eo_add(MY_CLASS, _ecore_parent, 
ecore_idle_enterer_after_constructor(eoid, func, data));
+   ie = eo_add(MY_CLASS, _ecore_parent, 
ecore_idle_enterer_after_constructor(eo_self, func, data));
    return ie;
 }
 
@@ -78,7 +78,7 @@ ecore_idle_enterer_before_add(Ecore_Task_Cb func,
                               const void   *data)
 {
    Ecore_Idle_Enterer *ie = NULL;
-   ie = eo_add(MY_CLASS, _ecore_parent, 
ecore_idle_enterer_before_constructor(eoid, func, data));
+   ie = eo_add(MY_CLASS, _ecore_parent, 
ecore_idle_enterer_before_constructor(eo_self, func, data));
    return ie;
 }
 
diff --git a/src/lib/ecore/ecore_idle_exiter.c 
b/src/lib/ecore/ecore_idle_exiter.c
index 5074b13..7956370 100644
--- a/src/lib/ecore/ecore_idle_exiter.c
+++ b/src/lib/ecore/ecore_idle_exiter.c
@@ -37,7 +37,7 @@ ecore_idle_exiter_add(Ecore_Task_Cb func,
                       const void   *data)
 {
    Ecore_Idle_Exiter *ie = NULL;
-   ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(eoid, 
func, data));
+   ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(eo_self, 
func, data));
    return ie;
 }
 
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index f68d424..54f08cf 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -35,7 +35,7 @@ EAPI Ecore_Idler *
 ecore_idler_add(Ecore_Task_Cb func,
                 const void   *data)
 {
-   return eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(eoid, func, 
data));
+   return eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(eo_self, 
func, data));
 }
 
 EOLIAN static void
diff --git a/src/lib/ecore/ecore_job.c b/src/lib/ecore/ecore_job.c
index 1f459c7..91e634f 100644
--- a/src/lib/ecore/ecore_job.c
+++ b/src/lib/ecore/ecore_job.c
@@ -49,7 +49,7 @@ EAPI Ecore_Job *
 ecore_job_add(Ecore_Cb    func,
               const void *data)
 {
-   Ecore_Job *job = eo_add(MY_CLASS, _ecore_parent, 
ecore_job_constructor(eoid, func, data));
+   Ecore_Job *job = eo_add(MY_CLASS, _ecore_parent, 
ecore_job_constructor(eo_self, func, data));
    return job;
 }
 
diff --git a/src/lib/ecore/ecore_poller.c b/src/lib/ecore/ecore_poller.c
index 79f2a78..3279979 100644
--- a/src/lib/ecore/ecore_poller.c
+++ b/src/lib/ecore/ecore_poller.c
@@ -237,7 +237,7 @@ ecore_poller_add(Ecore_Poller_Type type EINA_UNUSED,
                  const void       *data)
 {
    Ecore_Poller *poller;
-   poller = eo_add(MY_CLASS, _ecore_parent, ecore_poller_constructor(eoid, 
type, interval, func, data));
+   poller = eo_add(MY_CLASS, _ecore_parent, ecore_poller_constructor(eo_self, 
type, interval, func, data));
    return poller;
 }
 
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index 7343a7f..89823e2 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -93,7 +93,7 @@ ecore_timer_add(double        in,
    Ecore_Timer *timer = NULL;
 
    EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
-   timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(eoid, 
in, func, data));
+   timer = eo_add(MY_CLASS, _ecore_parent, 
ecore_obj_timer_constructor(eo_self, in, func, data));
    return timer;
 }
 
@@ -357,7 +357,7 @@ _ecore_timer_loop_add(double        in,
                       const void   *data)
 {
    Ecore_Timer *timer = NULL;
-   timer = eo_add(MY_CLASS, _ecore_parent, 
ecore_obj_timer_loop_constructor(eoid, in, func, data));
+   timer = eo_add(MY_CLASS, _ecore_parent, 
ecore_obj_timer_loop_constructor(eo_self, in, func, data));
 
    return timer;
 }
diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index ba1a575..4bca043 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -305,7 +305,7 @@ _efl_network_base_lookup(Eo *kls_obj EINA_UNUSED, void *pd 
EINA_UNUSED, const ch
    if (!name || !done_cb)
      return EINA_FALSE;
 
-   obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 
efl_network_server_connection_type_set(eoid, ECORE_CON_REMOTE_TCP), 
efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, 1025));
+   obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 
efl_network_server_connection_type_set(eo_self, ECORE_CON_REMOTE_TCP), 
efl_network_server_name_set(eo_self, name), efl_network_base_port_set(eo_self, 
1025));
 
    lk = malloc(sizeof (Ecore_Con_Lookup));
    if (!lk)
@@ -359,7 +359,7 @@ ecore_con_server_add(Ecore_Con_Type compl_type,
 
    /* local  system socket: FILE:   /tmp/.ecore_service|[name]|[port] */
    /* remote system socket: TCP/IP: [name]:[port] */
-   obj = eo_add(EFL_NETWORK_SERVER_CLASS, NULL, 
efl_network_server_connection_type_set(eoid, compl_type), 
efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, port));
+   obj = eo_add(EFL_NETWORK_SERVER_CLASS, NULL, 
efl_network_server_connection_type_set(eo_self, compl_type), 
efl_network_server_name_set(eo_self, name), efl_network_base_port_set(eo_self, 
port));
 
    ecore_con_server_data_set(obj, (void *) data);
 
@@ -455,7 +455,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type,
    /* local  user   socket: FILE:   ~/.ecore/[name]/[port] */
    /* local  system socket: FILE:   /tmp/.ecore_service|[name]|[port] */
    /* remote system socket: TCP/IP: [name]:[port] */
-   obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 
efl_network_server_connection_type_set(eoid, compl_type), 
efl_network_server_name_set(eoid, name), efl_network_base_port_set(eoid, port));
+   obj = eo_add(EFL_NETWORK_CONNECTOR_CLASS, NULL, 
efl_network_server_connection_type_set(eo_self, compl_type), 
efl_network_server_name_set(eo_self, name), efl_network_base_port_set(eo_self, 
port));
 
    ecore_con_server_data_set(obj, (void *) data);
 
diff --git a/src/lib/ecore_con/ecore_con_eet.c 
b/src/lib/ecore_con/ecore_con_eet.c
index 59a5b21..4812d57 100644
--- a/src/lib/ecore_con/ecore_con_eet.c
+++ b/src/lib/ecore_con/ecore_con_eet.c
@@ -722,7 +722,7 @@ ecore_con_eet_server_new(Ecore_Con_Server *server)
 
    if (!server) return NULL;
 
-   ece_obj = eo_add(ECORE_CON_EET_SERVER_OBJ_CLASS, NULL, 
ecore_con_eet_base_server_set(eoid, server));
+   ece_obj = eo_add(ECORE_CON_EET_SERVER_OBJ_CLASS, NULL, 
ecore_con_eet_base_server_set(eo_self, server));
 
    return ece_obj;
 }
@@ -734,7 +734,7 @@ ecore_con_eet_client_new(Ecore_Con_Server *server)
 
    if (!server) return NULL;
 
-   ece_obj = eo_add(ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL, 
ecore_con_eet_base_server_set(eoid, server));
+   ece_obj = eo_add(ECORE_CON_EET_CLIENT_OBJ_CLASS, NULL, 
ecore_con_eet_base_server_set(eo_self, server));
 
    return ece_obj;
 }
diff --git a/src/lib/ecore_con/ecore_con_url.c 
b/src/lib/ecore_con/ecore_con_url.c
index 000bf4d..21f0193 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -225,7 +225,7 @@ EAPI Ecore_Con_Url *
 ecore_con_url_new(const char *url)
 {
    Ecore_Con_Url *url_obj;
-   url_obj = eo_add(EFL_NETWORK_URL_CLASS, NULL, efl_network_url_set(eoid, 
url));
+   url_obj = eo_add(EFL_NETWORK_URL_CLASS, NULL, efl_network_url_set(eo_self, 
url));
 
    eo_event_callback_array_add(url_obj, 
efl_network_url_event_table_callbacks(), NULL);
 
diff --git a/src/lib/ector/cairo/ector_cairo_surface.c 
b/src/lib/ector/cairo/ector_cairo_surface.c
index efb0e84..ae737e6 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.c
+++ b/src/lib/ector/cairo/ector_cairo_surface.c
@@ -63,11 +63,11 @@ 
_ector_cairo_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
                                                                 const Eo_Class 
*type)
 {
    if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
-     return eo_add(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_CAIRO_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
-     return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
-     return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_CAIRO_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
 
    ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
    return NULL;
diff --git a/src/lib/ector/gl/ector_gl_surface.c 
b/src/lib/ector/gl/ector_gl_surface.c
index 2ad6653..9e8d736 100644
--- a/src/lib/ector/gl/ector_gl_surface.c
+++ b/src/lib/ector/gl/ector_gl_surface.c
@@ -45,11 +45,11 @@ 
_ector_gl_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
                                                              const Eo_Class 
*type)
 {
    if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
-     return eo_add(ECTOR_RENDERER_GL_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_GL_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
-     return eo_add(ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_GL_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
-     return eo_add(ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_GL_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
 
    ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
    return NULL;
diff --git a/src/lib/ector/software/ector_software_surface.c 
b/src/lib/ector/software/ector_software_surface.c
index f67b194..821f791 100644
--- a/src/lib/ector/software/ector_software_surface.c
+++ b/src/lib/ector/software/ector_software_surface.c
@@ -16,13 +16,13 @@ 
_ector_software_surface_ector_generic_surface_renderer_factory_new(Eo *obj,
                                                                    const 
Eo_Class *type)
 {
    if (type == ECTOR_RENDERER_GENERIC_SHAPE_MIXIN)
-     return eo_add(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_SOFTWARE_SHAPE_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_LINEAR_MIXIN)
-     return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_LINEAR_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_GRADIENT_RADIAL_MIXIN)
-     return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_SOFTWARE_GRADIENT_RADIAL_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    else if (type == ECTOR_RENDERER_GENERIC_BUFFER_MIXIN)
-     return eo_add(ECTOR_RENDERER_SOFTWARE_BUFFER_CLASS, NULL, 
ector_renderer_surface_set(eoid, obj));
+     return eo_add(ECTOR_RENDERER_SOFTWARE_BUFFER_CLASS, NULL, 
ector_renderer_surface_set(eo_self, obj));
    ERR("Couldn't find class for type: %s\n", eo_class_name_get(type));
    return NULL;
 }
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index ba164b7..87553ec 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -793,7 +793,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const 
Eina_File *file, const ch
                           Evas_Canvas3D_Material *material = NULL;
                           Edje_Part_Description_Mesh_Node *pd_mesh_node;
 
-                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eoid, 
EVAS_CANVAS3D_NODE_TYPE_MESH));
+                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eo_self, 
EVAS_CANVAS3D_NODE_TYPE_MESH));
 
                           mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, 
ed->base->evas);
                           evas_canvas3d_node_mesh_add(rp->node, mesh);
@@ -826,7 +826,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const 
Eina_File *file, const ch
                        {
                           Evas_Canvas3D_Light *light = NULL;
 
-                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eoid, 
EVAS_CANVAS3D_NODE_TYPE_LIGHT));
+                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eo_self, 
EVAS_CANVAS3D_NODE_TYPE_LIGHT));
                           light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, 
ed->base->evas);
                           evas_canvas3d_node_light_set(rp->node, light);
 
@@ -838,7 +838,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const 
Eina_File *file, const ch
                        {
                           Evas_Canvas3D_Camera *camera = NULL;
 
-                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eoid, 
EVAS_CANVAS3D_NODE_TYPE_CAMERA));
+                          rp->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, 
ed->base->evas, evas_canvas3d_node_constructor(eo_self, 
EVAS_CANVAS3D_NODE_TYPE_CAMERA));
                           camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, 
ed->base->evas);
                           evas_canvas3d_node_camera_set(rp->node, camera);
 
diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c
index df98157..a43dad8 100644
--- a/src/lib/edje/edje_multisense.c
+++ b/src/lib/edje/edje_multisense.c
@@ -202,13 +202,13 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, 
const char *sample_name, c
              eet_data->vio.tell = eet_snd_file_tell;
              eet_data->offset = 0;
 
-             in = eo_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, 
ecore_audio_obj_name_set(eoid, snd_id_str), ecore_audio_obj_in_speed_set(eoid, 
speed), ecore_audio_obj_vio_set(eoid, &eet_data->vio, eet_data, _free), 
eo_event_callback_add(eoid, ECORE_AUDIO_IN_EVENT_IN_STOPPED, _play_finished, 
NULL));
+             in = eo_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, 
ecore_audio_obj_name_set(eo_self, snd_id_str), 
ecore_audio_obj_in_speed_set(eo_self, speed), ecore_audio_obj_vio_set(eo_self, 
&eet_data->vio, eet_data, _free), eo_event_callback_add(eo_self, 
ECORE_AUDIO_IN_EVENT_IN_STOPPED, _play_finished, NULL));
              if (!out)
                {
 #if HAVE_COREAUDIO
                   out = eo_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL);
 #elif HAVE_PULSE
-                  out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
eo_event_callback_add(eoid, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
+                  out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
eo_event_callback_add(eo_self, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
 #endif
                   if (out) outs++;
                }
@@ -280,7 +280,7 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const 
char *tone_name, const
 #if HAVE_COREAUDIO
                   out = eo_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL);
 #elif HAVE_PULSE
-                  out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
eo_event_callback_add(eoid, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
+                  out = eo_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, 
eo_event_callback_add(eo_self, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, 
_out_fail, NULL));
 #endif
                   if (out) outs++;
                }
diff --git a/src/lib/eio/eio_model.c b/src/lib/eio/eio_model.c
index 1d96750..6d5dba4 100644
--- a/src/lib/eio/eio_model.c
+++ b/src/lib/eio/eio_model.c
@@ -147,7 +147,7 @@ _efl_model_evt_added_ecore_cb(void *data EINA_UNUSED, int 
type EINA_UNUSED, void
    Efl_Model_Children_Event cevt;
    Eina_Value path;
 
-   cevt.child = eo_add_ref(EIO_MODEL_CLASS, priv->obj, 
eio_model_path_set(eoid, evt->filename));
+   cevt.child = eo_add_ref(EIO_MODEL_CLASS, priv->obj, 
eio_model_path_set(eo_self, evt->filename));
    priv->children_list = eina_list_append(priv->children_list, cevt.child);
    cevt.index = eina_list_count(priv->children_list);
 
@@ -407,7 +407,7 @@ _eio_main_children_load_cb(void *data, Eio_File *handler 
EINA_UNUSED, const Eina
    Eio_Model_Data *priv = data;
    EINA_SAFETY_ON_NULL_RETURN(priv);
 
-   child = eo_add(MY_CLASS, NULL, eio_model_path_set(eoid, info->path));
+   child = eo_add(MY_CLASS, NULL, eio_model_path_set(eo_self, info->path));
    eina_spinlock_take(&priv->filter_lock);
    if (priv->filter_cb)
      eio_model_children_filter_set(child, priv->filter_cb, 
priv->filter_userdata);
diff --git a/src/lib/eldbus/eldbus_model_connection.c 
b/src/lib/eldbus/eldbus_model_connection.c
index ebd758b..e8f93fe 100644
--- a/src/lib/eldbus/eldbus_model_connection.c
+++ b/src/lib/eldbus/eldbus_model_connection.c
@@ -345,7 +345,7 @@ _eldbus_model_connection_names_list_cb(void *data,
      {
         DBG("(%p): bus = %s", pd->obj, bus);
 
-        Eo *child = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_connection_constructor(eoid, pd->connection, bus, "/"));
+        Eo *child = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_connection_constructor(eo_self, pd->connection, bus, "/"));
 
         pd->children_list = eina_list_append(pd->children_list, child);
      }
diff --git a/src/lib/eldbus/eldbus_model_object.c 
b/src/lib/eldbus/eldbus_model_object.c
index 240d657e7..e1462b7 100644
--- a/src/lib/eldbus/eldbus_model_object.c
+++ b/src/lib/eldbus/eldbus_model_object.c
@@ -532,7 +532,7 @@ 
_eldbus_model_object_create_children(Eldbus_Model_Object_Data *pd, Eldbus_Object
         WRN("(%p) Creating child: bus = %s, path = %s, interface = %s", 
pd->obj, pd->bus, current_path, interface->name);
 
         // TODO: increment reference to keep 'interface' in memory
-        child = eo_add_ref(ELDBUS_MODEL_PROXY_CLASS, NULL, 
eldbus_model_proxy_constructor(eoid, object, interface));
+        child = eo_add_ref(ELDBUS_MODEL_PROXY_CLASS, NULL, 
eldbus_model_proxy_constructor(eo_self, object, interface));
 
         pd->children_list = eina_list_append(pd->children_list, child);
      }
diff --git a/src/lib/eldbus/eldbus_model_proxy.c 
b/src/lib/eldbus/eldbus_model_proxy.c
index 2e660f4..9196e4b 100644
--- a/src/lib/eldbus/eldbus_model_proxy.c
+++ b/src/lib/eldbus/eldbus_model_proxy.c
@@ -325,7 +325,7 @@ 
_eldbus_model_proxy_create_methods_children(Eldbus_Model_Proxy_Data *pd)
 
         INF("(%p) Creating method child: bus = %s, path = %s, method = 
%s::%s", pd->obj, bus, path, interface_name, method_name);
 
-        child = eo_add(ELDBUS_MODEL_METHOD_CLASS, NULL, 
eldbus_model_method_constructor(eoid, pd->proxy, method));
+        child = eo_add(ELDBUS_MODEL_METHOD_CLASS, NULL, 
eldbus_model_method_constructor(eo_self, pd->proxy, method));
 
         pd->children_list = eina_list_append(pd->children_list, child);
      }
@@ -359,7 +359,7 @@ 
_eldbus_model_proxy_create_signals_children(Eldbus_Model_Proxy_Data *pd)
 
         DBG("(%p) Creating signal child: bus = %s, path = %s, signal = 
%s::%s", pd->obj, bus, path, interface_name, signal_name);
 
-        child = eo_add(ELDBUS_MODEL_SIGNAL_CLASS, NULL, 
eldbus_model_signal_constructor(eoid, pd->proxy, signal));
+        child = eo_add(ELDBUS_MODEL_SIGNAL_CLASS, NULL, 
eldbus_model_signal_constructor(eo_self, pd->proxy, signal));
 
         pd->children_list = eina_list_append(pd->children_list, child);
      }
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.c 
b/src/lib/evas/canvas/evas_canvas3d_node.c
index 5e0944d..54f4f07 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.c
+++ b/src/lib/evas/canvas/evas_canvas3d_node.c
@@ -1012,7 +1012,7 @@ evas_canvas3d_node_add(Evas *e, Evas_Canvas3D_Node_Type 
type)
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
    return NULL;
    MAGIC_CHECK_END();
-   Evas_Object *eo_obj = eo_add(MY_CLASS, e, 
evas_canvas3d_node_constructor(eoid, type));
+   Evas_Object *eo_obj = eo_add(MY_CLASS, e, 
evas_canvas3d_node_constructor(eo_self, type));
    return eo_obj;
 }
 
diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 9e69a4e..8b78241 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -4301,17 +4301,14 @@ EAPI Evas_Object *
 evas_object_image_add(Evas *eo_e)
 {
    EINA_SAFETY_ON_FALSE_RETURN_VAL(eo_isa(eo_e, EVAS_CANVAS_CLASS), NULL);
-   return eo_add(EVAS_IMAGE_CLASS, eo_e,
-                 efl_gfx_fill_filled_set(eoid, EINA_FALSE),
-                 evas_obj_legacy_ctor(eoid));
+   return eo_add(EVAS_IMAGE_CLASS, eo_e, efl_gfx_fill_filled_set(eo_self, 
EINA_FALSE), evas_obj_legacy_ctor(eo_self));
 }
 
 EAPI Evas_Object *
 evas_object_image_filled_add(Evas *eo_e)
 {
    EINA_SAFETY_ON_FALSE_RETURN_VAL(eo_isa(eo_e, EVAS_CANVAS_CLASS), NULL);
-   return eo_add(EVAS_IMAGE_CLASS, eo_e,
-                 evas_obj_legacy_ctor(eoid));
+   return eo_add(EVAS_IMAGE_CLASS, eo_e, evas_obj_legacy_ctor(eo_self));
 }
 
 EAPI void
diff --git a/src/lib/evas/canvas/evas_vg_container.c 
b/src/lib/evas/canvas/evas_vg_container.c
index 7d766a5..c7ca580 100644
--- a/src/lib/evas/canvas/evas_vg_container.c
+++ b/src/lib/evas/canvas/evas_vg_container.c
@@ -155,7 +155,7 @@ _efl_vg_container_efl_vg_base_dup(Eo *obj,
      {
         // By setting parent, we automatically reference
         // this new object as a child of obj. Magic at work !
-        (void) eo_add_ref(eo_class_get(child), obj, efl_vg_dup(eoid, child));
+        (void) eo_add_ref(eo_class_get(child), obj, efl_vg_dup(eo_self, 
child));
      }
 }
 
diff --git a/src/lib/evas/canvas/evas_vg_node.c 
b/src/lib/evas/canvas/evas_vg_node.c
index 3a80b63..c5eff08 100644
--- a/src/lib/evas/canvas/evas_vg_node.c
+++ b/src/lib/evas/canvas/evas_vg_node.c
@@ -778,7 +778,7 @@ _efl_vg_base_dup(Eo *obj, Efl_VG_Base_Data *pd, const 
Efl_VG_Base *from)
    _efl_vg_clean_object(&pd->mask);
    if (fromd->mask)
      {
-        pd->mask = eo_add(eo_class_get(fromd->mask), obj, efl_vg_dup(eoid, 
pd->mask));
+        pd->mask = eo_add(eo_class_get(fromd->mask), obj, efl_vg_dup(eo_self, 
pd->mask));
      }
 
    pd->x = fromd->x;
diff --git a/src/lib/evas/canvas/evas_vg_shape.c 
b/src/lib/evas/canvas/evas_vg_shape.c
index 312953a..fe2c902 100644
--- a/src/lib/evas/canvas/evas_vg_shape.c
+++ b/src/lib/evas/canvas/evas_vg_shape.c
@@ -232,17 +232,17 @@ _efl_vg_shape_efl_vg_base_dup(Eo *obj, Efl_VG_Shape_Data 
*pd EINA_UNUSED, const
 
    if (fromd->fill)
      {
-        fill = eo_add(eo_class_get(fromd->fill), parent, efl_vg_dup(eoid, 
fromd->fill));
+        fill = eo_add(eo_class_get(fromd->fill), parent, efl_vg_dup(eo_self, 
fromd->fill));
      }
 
    if (fromd->stroke.fill)
      {
-        stroke_fill = eo_add(eo_class_get(fromd->stroke.fill), parent, 
efl_vg_dup(eoid, fromd->stroke.fill));
+        stroke_fill = eo_add(eo_class_get(fromd->stroke.fill), parent, 
efl_vg_dup(eo_self, fromd->stroke.fill));
      }
 
    if (fromd->stroke.marker)
      {
-        stroke_marker = eo_add(eo_class_get(fromd->stroke.marker), parent, 
efl_vg_dup(eoid, fromd->stroke.marker));
+        stroke_marker = eo_add(eo_class_get(fromd->stroke.marker), parent, 
efl_vg_dup(eo_self, fromd->stroke.marker));
      }
 
    efl_vg_shape_fill_set(obj, fill);
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 11f9581..a672e81 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -2503,13 +2503,13 @@ eng_ector_buffer_wrap(void *data EINA_UNUSED, Evas 
*evas, void *engine_image, Ei
      {
         RGBA_Image *im = engine_image;
 
-        buf = eo_add(EVAS_ECTOR_GL_RGBAIMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eoid, evas, im));
+        buf = eo_add(EVAS_ECTOR_GL_RGBAIMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eo_self, evas, im));
      }
    else
      {
         Evas_GL_Image *im = engine_image;
 
-        buf = eo_add(EVAS_ECTOR_GL_IMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eoid, evas, im));
+        buf = eo_add(EVAS_ECTOR_GL_IMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eo_self, evas, im));
      }
    return buf;
 }
@@ -2570,7 +2570,7 @@ eng_ector_buffer_new(void *data, Evas *evas, void *pixels,
 
         gc = re->window_gl_context_get(re->software.ob);
         im = evas_gl_common_image_surface_new(gc, iw, ih, EINA_TRUE);
-        buf = eo_add(EVAS_ECTOR_GL_IMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eoid, evas, im));
+        buf = eo_add(EVAS_ECTOR_GL_IMAGE_BUFFER_CLASS, evas, 
evas_ector_buffer_engine_image_set(eo_self, evas, im));
         im->references--;
      }
    return buf;
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index c28872c..8b02bf7 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -3785,7 +3785,7 @@ eng_ector_buffer_wrap(void *data EINA_UNUSED, Evas *e, 
void *engine_image, Eina_
 
    if (!ie) return NULL;
 
-   buf = eo_add(EVAS_ECTOR_SOFTWARE_BUFFER_CLASS, e, 
evas_ector_buffer_engine_image_set(eoid, e, ie));
+   buf = eo_add(EVAS_ECTOR_SOFTWARE_BUFFER_CLASS, e, 
evas_ector_buffer_engine_image_set(eo_self, e, ie));
 
    return buf;
 }
@@ -3804,7 +3804,7 @@ eng_ector_buffer_new(void *data EINA_UNUSED, Evas *evas, 
void *pixels,
 
    if ((flags & (ECTOR_BUFFER_FLAG_RENDERABLE | ECTOR_BUFFER_FLAG_DRAWABLE)) 
== 0)
      {
-        buf = eo_add(ECTOR_SOFTWARE_BUFFER_CLASS, evas, 
ector_buffer_pixels_set(eoid, pixels, width, height, stride, cspace, writeable, 
l, r, t, b));
+        buf = eo_add(ECTOR_SOFTWARE_BUFFER_CLASS, evas, 
ector_buffer_pixels_set(eo_self, pixels, width, height, stride, cspace, 
writeable, l, r, t, b));
      }
    else
      {
diff --git a/src/tests/ecore/ecore_test_animator.c 
b/src/tests/ecore/ecore_test_animator.c
index e2f17bc..c4487e7 100644
--- a/src/tests/ecore/ecore_test_animator.c
+++ b/src/tests/ecore/ecore_test_animator.c
@@ -30,7 +30,7 @@ START_TEST(ecore_test_animators)
    fail_if(!ecore_init(), "ERROR: Cannot init Ecore!\n");
 
    ecore_animator_frametime_set(interval1);
-   animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, 
ecore_animator_timeline_constructor(eoid, 1, _anim_cb, &interval1));
+   animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, 
ecore_animator_timeline_constructor(eo_self, 1, _anim_cb, &interval1));
 
    fail_if(!animator);
 
@@ -38,7 +38,7 @@ START_TEST(ecore_test_animators)
 
    ecore_animator_frametime_set(interval2);
    prev = 0;
-   animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, 
ecore_animator_timeline_constructor(eoid, 1, _anim_cb, &interval2));
+   animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, 
ecore_animator_timeline_constructor(eo_self, 1, _anim_cb, &interval2));
    fail_if(!animator);
 
    ecore_main_loop_begin();
diff --git a/src/tests/eio/eio_model_test_file.c 
b/src/tests/eio/eio_model_test_file.c
index 5873d7a..dc89c6f 100644
--- a/src/tests/eio/eio_model_test_file.c
+++ b/src/tests/eio/eio_model_test_file.c
@@ -165,7 +165,7 @@ START_TEST(eio_model_test_test_file)
    fail_if(!ecore_init(), "ERROR: Cannot init Ecore!\n");
    fail_if(!eio_init(), "ERROR: Cannot init EIO!\n");
 
-   filemodel = eo_add(EIO_MODEL_CLASS, NULL, eio_model_path_set(eoid, 
EFL_MODEL_TEST_FILENAME_PATH));
+   filemodel = eo_add(EIO_MODEL_CLASS, NULL, eio_model_path_set(eo_self, 
EFL_MODEL_TEST_FILENAME_PATH));
    fail_if(!filemodel, "ERROR: Cannot init model!\n");
 
    eo_event_callback_add(filemodel, EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_load_status_cb, NULL);
diff --git a/src/tests/eio/eio_model_test_monitor_add.c 
b/src/tests/eio/eio_model_test_monitor_add.c
index b718edd..dd92ef0 100644
--- a/src/tests/eio/eio_model_test_monitor_add.c
+++ b/src/tests/eio/eio_model_test_monitor_add.c
@@ -125,7 +125,7 @@ START_TEST(eio_model_test_test_monitor_add)
 
    tmpdir = eina_environment_tmp_get();
 
-   filemodel = eo_add(EIO_MODEL_CLASS, NULL, eio_model_path_set(eoid, tmpdir));
+   filemodel = eo_add(EIO_MODEL_CLASS, NULL, eio_model_path_set(eo_self, 
tmpdir));
    fail_if(!filemodel, "ERROR: Cannot init model!\n");
 
    eo_event_callback_add(filemodel, EFL_MODEL_BASE_EVENT_CHILD_ADDED, 
_children_added_cb, NULL);
diff --git a/src/tests/eldbus/eldbus_test_eldbus_model.c 
b/src/tests/eldbus/eldbus_test_eldbus_model.c
index 5439217..b89f1e9 100644
--- a/src/tests/eldbus/eldbus_test_eldbus_model.c
+++ b/src/tests/eldbus/eldbus_test_eldbus_model.c
@@ -123,7 +123,7 @@ check_property(Eo *object, const char *property_name, const 
char *expected_value
 Eo *
 create_connection(void)
 {
-   Eo *connection = eo_add_ref(ELDBUS_MODEL_CONNECTION_CLASS, NULL, 
eldbus_model_connection_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE));
+   Eo *connection = eo_add_ref(ELDBUS_MODEL_CONNECTION_CLASS, NULL, 
eldbus_model_connection_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, 
NULL, EINA_FALSE));
    ck_assert_ptr_ne(NULL, connection);
    return connection;
 }
@@ -139,7 +139,7 @@ create_and_load_connection(void)
 Eo *
 create_object(void)
 {
-   Eo *object = eo_add_ref(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, ELDBUS_FDO_BUS, ELDBUS_FDO_PATH));
+   Eo *object = eo_add_ref(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, ELDBUS_FDO_BUS, ELDBUS_FDO_PATH));
    ck_assert_ptr_ne(NULL, object);
    return object;
 }
diff --git a/src/tests/eldbus/eldbus_test_eldbus_model_method.c 
b/src/tests/eldbus/eldbus_test_eldbus_model_method.c
index 51ed4af..1c78995 100644
--- a/src/tests/eldbus/eldbus_test_eldbus_model_method.c
+++ b/src/tests/eldbus/eldbus_test_eldbus_model_method.c
@@ -29,7 +29,7 @@ _setup(void)
 
    fake_server = fake_server_start(&fake_server_data);
 
-   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
+   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
    ck_assert_ptr_ne(NULL, fake_server_object);
 
    efl_model_load_and_wait_for_load_status(fake_server_object, 
EFL_MODEL_LOAD_STATUS_LOADED);
diff --git a/src/tests/eldbus/eldbus_test_eldbus_model_signal.c 
b/src/tests/eldbus/eldbus_test_eldbus_model_signal.c
index 7c31874..8cbfe45 100644
--- a/src/tests/eldbus/eldbus_test_eldbus_model_signal.c
+++ b/src/tests/eldbus/eldbus_test_eldbus_model_signal.c
@@ -27,7 +27,7 @@ _setup(void)
 
    fake_server = fake_server_start(&fake_server_data);
 
-   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
+   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
    ck_assert_ptr_ne(NULL, fake_server_object);
 
    efl_model_load_and_wait_for_load_status(fake_server_object, 
EFL_MODEL_LOAD_STATUS_LOADED);
diff --git a/src/tests/eldbus/eldbus_test_fake_server_eldbus_model_proxy.c 
b/src/tests/eldbus/eldbus_test_fake_server_eldbus_model_proxy.c
index 09ef4cc..ec62822 100644
--- a/src/tests/eldbus/eldbus_test_fake_server_eldbus_model_proxy.c
+++ b/src/tests/eldbus/eldbus_test_fake_server_eldbus_model_proxy.c
@@ -33,7 +33,7 @@ _setup(void)
    };
    fake_server = fake_server_start(&fake_server_data);
 
-   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eoid, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
+   fake_server_object = eo_add(ELDBUS_MODEL_OBJECT_CLASS, NULL, 
eldbus_model_object_constructor(eo_self, ELDBUS_CONNECTION_TYPE_SESSION, NULL, 
EINA_FALSE, FAKE_SERVER_BUS, FAKE_SERVER_PATH));
    ck_assert_ptr_ne(NULL, fake_server_object);
 
    efl_model_load_and_wait_for_load_status(fake_server_object, 
EFL_MODEL_LOAD_STATUS_LOADED);
diff --git a/src/tests/eo/constructors/constructors_main.c 
b/src/tests/eo/constructors/constructors_main.c
index 5844e46..45cd50d 100644
--- a/src/tests/eo/constructors/constructors_main.c
+++ b/src/tests/eo/constructors/constructors_main.c
@@ -76,14 +76,14 @@ main(int argc, char *argv[])
    fail_if(a != 0);
 
    my_init_count = 0;
-   obj = eo_add(SIMPLE_CLASS, NULL, simple_a_set(eoid, 7));
+   obj = eo_add(SIMPLE_CLASS, NULL, simple_a_set(eo_self, 7));
    fail_if(!obj);
    fail_if(my_init_count != 2);
    a = simple_a_get(obj);
    fail_if(a != 7);
 
    my_init_count = 0;
-   obj = eo_add(SIMPLE_CLASS, NULL, simple_b_set(eoid, 6), simple_a_set(eoid, 
-1), b = simple_b_get(eoid));
+   obj = eo_add(SIMPLE_CLASS, NULL, simple_b_set(eo_self, 6), 
simple_a_set(eo_self, -1), b = simple_b_get(eo_self));
    fail_if(obj);
    fail_if(b != 6);
    fail_if(my_init_count != 0);
diff --git a/src/tests/eo/suite/eo_test_general.c 
b/src/tests/eo/suite/eo_test_general.c
index 2960902..0a9b74c 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -798,24 +798,24 @@ START_TEST(eo_add_do_and_custom)
    Eo *obj = NULL;
    eo_init();
 
-   obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor(eoid));
+   obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor(eo_self));
    fail_if(!obj);
    eo_unref(obj);
 
-   obj = eo_add(SIMPLE_CLASS, NULL, simple_a_set(eoid, 7));
+   obj = eo_add(SIMPLE_CLASS, NULL, simple_a_set(eo_self, 7));
    fail_if(!obj);
    pd = eo_data_scope_get(obj, SIMPLE_CLASS);
    fail_if(pd->a != 7);
    eo_unref(obj);
 
-   obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor(eoid), simple_a_set(eoid, 
7));
+   obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor(eo_self), 
simple_a_set(eo_self, 7));
    fail_if(!obj);
    pd = eo_data_scope_get(obj, SIMPLE_CLASS);
    fail_if(pd->a != 7);
    eo_unref(obj);
 
    Eina_Bool finalized;
-   obj = eo_add(SIMPLE_CLASS, NULL, finalized = eo_finalized_get(eoid));
+   obj = eo_add(SIMPLE_CLASS, NULL, finalized = eo_finalized_get(eo_self));
    fail_if(finalized);
 
    finalized = eo_finalized_get(obj);
diff --git a/src/tests/eo/suite/eo_test_threaded_calls.c 
b/src/tests/eo/suite/eo_test_threaded_calls.c
index b25b00b..3f2231d 100644
--- a/src/tests/eo/suite/eo_test_threaded_calls.c
+++ b/src/tests/eo/suite/eo_test_threaded_calls.c
@@ -94,7 +94,7 @@ _thread_job(void *data, Eina_Thread t EINA_UNUSED)
      fail_if(EINA_LOCK_SUCCEED != eina_spinlock_take(&locks[0]));
    }
 
-   obj = eo_add(THREAD_TEST_CLASS, NULL, thread_test_constructor(eoid, v));
+   obj = eo_add(THREAD_TEST_CLASS, NULL, thread_test_constructor(eo_self, v));
 
    thread_test_try_swap_stack(obj);
    v = thread_test_v_get(obj);
diff --git a/src/tests/eolian_js/eolian_js_test_constructor_method_impl.c 
b/src/tests/eolian_js/eolian_js_test_constructor_method_impl.c
index 1740e61..3ad0631 100644
--- a/src/tests/eolian_js/eolian_js_test_constructor_method_impl.c
+++ b/src/tests/eolian_js/eolian_js_test_constructor_method_impl.c
@@ -132,7 +132,7 @@ _constructor_method_class_classoutmethod1(Eo* obj 
EINA_UNUSED, Constructor_Metho
 {
   fprintf(stderr, "classoutmethod1\n");
   fflush(stderr);
-  return eo_add(MY_CLASS, NULL, constructor_method_class_constructor1(eoid, 
one), constructor_method_class_constructor2(eoid, two));
+  return eo_add(MY_CLASS, NULL, constructor_method_class_constructor1(eo_self, 
one), constructor_method_class_constructor2(eo_self, two));
 }
 
 EOLIAN static void
@@ -140,7 +140,7 @@ _constructor_method_class_classoutmethod2(Eo* obj 
EINA_UNUSED, Constructor_Metho
 {
   fprintf(stderr, "classoutmethod2\n");
   fflush(stderr);
-  *out_class = eo_add(MY_CLASS, NULL, 
constructor_method_class_constructor1(eoid, one), 
constructor_method_class_constructor2(eoid, two));
+  *out_class = eo_add(MY_CLASS, NULL, 
constructor_method_class_constructor1(eo_self, one), 
constructor_method_class_constructor2(eo_self, two));
 }
 
 
diff --git a/src/tests/evas/evas_test_image.c b/src/tests/evas/evas_test_image.c
index 0f7514c..39a923b 100644
--- a/src/tests/evas/evas_test_image.c
+++ b/src/tests/evas/evas_test_image.c
@@ -646,7 +646,7 @@ START_TEST(evas_object_image_defaults)
    eo_del(o);
 
    /* test eo defaults */
-   eo_add(&o, EVAS_IMAGE_CLASS, e);
+   o = eo_add(EVAS_IMAGE_CLASS, e);
    fail_if(!efl_gfx_fill_filled_get(o));
    eo_del(o);
 

-- 


Reply via email to