Safe object initialization, abstractly