Prevent render before create or after destroy

This should prevent render from being called before the listener is set
up.  It also fixes what seems to have been an erroneous synchronization
on this instead of the synch object.