так и сделано сейчас. инит вызывает foo. можно что бы не инит вызывал foo, но foo нужна только в некоторых случаях .. обычно всё пишется просто в init
Очевидно, вы ищете костыль, чтобы подпереть изначально плохой дизайн. То, что вы спрашивали изначально - сделать нельзя. :)