Added an initialiser and a class method.  Started adding pointers to create a strong reference cycle.