used weak references to store VCs using plugin