I notice that in this case, buildLifecycle() and setRecorderFactory() are both calling buildRecorderFactory(), which will result in two different ManualRecorderFactory objects.  Is this the desired behavior?