this breaks encapsulation, I'd rather have ``feature.add_branch``