Have you ever been in the position where to do A you need to do B and to do B you need to do C and so-on? Well looking at the other games in my portfolio, I realise I need to implement DDL first. To do DDL, I need Firebase. For Firebase I need Facebook for authentication. For Facebook and Firebase, I need to decouple the interface so that everything is not a tangled mess. To decouple these, I need to create unity packages for decoupled APIs. Since these packages do reference each other and essential standard code, I need to create a library package. If I am going to build packages, I might as well publish them on the Unity Asset store. If I am going to release them, then I had better write documentation and examples. All good because now I realise that I have forgotten features because I did not document them at the time.