

A few technical issues encountered while designing the API were all those stray pointers. So, we had to do a few hacks for this:
Never create a playlistitem before your playlist's init() has been called.
Create the class that inherits Playlist in the
constructor, but don't actually create any playlist items there.