As mentioned above I think we should deprecate this whole thing in favor of factory methods on each individual object.