Removed upgrade_once and allow specifying value