added another method to register controllers; removed static sync.Once variable