now caching init methods to enable programatic 'reload'