Yes it is a head scratcher. A `geom` is created by `geom` and it `__radd__`s a `geom` with a `geom._stat` to the ggplot object. `stat` is created by `stat` and it `__radd__`s a `geom` with a `geom._stat` to the ggplot object. A `geom` should not create a `self._stat` in `__init__` otherwise when the `stat` creates a `geom` in `stat.__radd__` that would create a `geom._stat` in it's `__init__`. `stats` creating `stats`!!!

These quandaries won't be there to avoid when the `stats` and `geoms` both add layers in their respective `__radd__` functions.