diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index de3a4a92f..ea4dc040a 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -731,17 +731,17 @@ static ClutterPaintVolume *_clutter_actor_get_paint_volume_mutable (ClutterActor
 static GQuark quark_shader_data = 0;
 static GQuark quark_actor_layout_info = 0;
 
-G_DEFINE_ABSTRACT_TYPE_WITH_CODE (ClutterActor,
-                                  clutter_actor,
-                                  G_TYPE_INITIALLY_UNOWNED,
-                                  G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
-                                                         clutter_container_iface_init)
-                                  G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
-                                                         clutter_scriptable_iface_init)
-                                  G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_ANIMATABLE,
-                                                         clutter_animatable_iface_init)
-                                  G_IMPLEMENT_INTERFACE (ATK_TYPE_IMPLEMENTOR,
-                                                         atk_implementor_iface_init));
+G_DEFINE_TYPE_WITH_CODE (ClutterActor,
+                         clutter_actor,
+                         G_TYPE_INITIALLY_UNOWNED,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
+                                                clutter_container_iface_init)
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_iface_init)
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_ANIMATABLE,
+                                                clutter_animatable_iface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_IMPLEMENTOR,
+                                                atk_implementor_iface_init));
 
 /*< private >
  * clutter_actor_get_debug_name:
@@ -5806,6 +5806,24 @@ clutter_actor_init (ClutterActor *self)
   memset (priv->clip, 0, sizeof (gfloat) * 4);
 }
 
+/**
+ * clutter_actor_new:
+ *
+ * Creates a new #ClutterActor.
+ *
+ * A newly created actor has a floating reference, which will be sunk
+ * when it is added to another actor.
+ *
+ * Return value: (transfer full): the newly created #ClutterActor
+ *
+ * Since: 1.10
+ */
+ClutterActor *
+clutter_actor_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_ACTOR, NULL);
+}
+
 /**
  * clutter_actor_destroy:
  * @self: a #ClutterActor
diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h
index 3e58a9c4c..d919a5a6f 100644
--- a/clutter/clutter-actor.h
+++ b/clutter/clutter-actor.h
@@ -261,7 +261,9 @@ struct _ClutterActorClass
   gpointer _padding_dummy[28];
 };
 
-GType                 clutter_actor_get_type                  (void) G_GNUC_CONST;
+GType clutter_actor_get_type (void) G_GNUC_CONST;
+
+ClutterActor *        clutter_actor_new                       (void);
 
 void                  clutter_actor_set_flags                 (ClutterActor          *self,
                                                                ClutterActorFlags      flags);
diff --git a/tests/conform/test-actor-layout.c b/tests/conform/test-actor-layout.c
index 74b83e30b..62cab0ef0 100644
--- a/tests/conform/test-actor-layout.c
+++ b/tests/conform/test-actor-layout.c
@@ -212,20 +212,24 @@ basic_layout (TestConformSimpleFixture *fixture,
   ClutterActor *flower[3];
   TestState *state;
 
-  vase = clutter_box_new (clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL));
+  vase = clutter_actor_new ();
+  clutter_actor_set_layout_manager (vase, clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL));
   clutter_actor_add_child (stage, vase);
 
-  flower[0] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Red);
+  flower[0] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[0], CLUTTER_COLOR_Red);
   clutter_actor_set_size (flower[0], 100, 100);
   clutter_actor_set_name (flower[0], "Red Flower");
   clutter_actor_add_child (vase, flower[0]);
 
-  flower[1] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Yellow);
+  flower[1] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[1], CLUTTER_COLOR_Yellow);
   clutter_actor_set_size (flower[1], 100, 100);
   clutter_actor_set_name (flower[1], "Yellow Flower");
   clutter_actor_add_child (vase, flower[1]);
 
-  flower[2] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Green);
+  flower[2] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[2], CLUTTER_COLOR_Green);
   clutter_actor_set_size (flower[2], 100, 100);
   clutter_actor_set_name (flower[2], "Green Flower");
   clutter_actor_add_child (vase, flower[2]);
@@ -252,22 +256,26 @@ margin_layout (TestConformSimpleFixture *fixture,
   ClutterActor *flower[3];
   TestState *state;
 
-  vase = clutter_box_new (clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL));
+  vase = clutter_actor_new ();
+  clutter_actor_set_layout_manager (vase, clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL));
   clutter_actor_add_child (stage, vase);
 
-  flower[0] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Red);
+  flower[0] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[0], CLUTTER_COLOR_Red);
   clutter_actor_set_size (flower[0], 100, 100);
   clutter_actor_set_name (flower[0], "Red Flower");
   clutter_actor_add_child (vase, flower[0]);
 
-  flower[1] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Yellow);
+  flower[1] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[1], CLUTTER_COLOR_Yellow);
   clutter_actor_set_size (flower[1], 100, 100);
   clutter_actor_set_name (flower[1], "Yellow Flower");
   clutter_actor_set_margin_right (flower[1], 6);
   clutter_actor_set_margin_left (flower[1], 6);
   clutter_actor_add_child (vase, flower[1]);
 
-  flower[2] = clutter_rectangle_new_with_color (CLUTTER_COLOR_Green);
+  flower[2] = clutter_actor_new ();
+  clutter_actor_set_background_color (flower[2], CLUTTER_COLOR_Green);
   clutter_actor_set_size (flower[2], 100, 100);
   clutter_actor_set_name (flower[2], "Green Flower");
   clutter_actor_set_margin_top (flower[2], 6);