cyclic dependency example
Implicit ctor, chain assignment, std::unique_ptr