created Controller#sharedCTOR(), a private function for sharing code between constructors