Previously this was a method because it returned a new instance using the public parameters. Now we are passing that instance in to `__init__`. I guess either `__init__` should take the public components like it used to or this shouldn't be a regular property?