Refactor bobble saving into BobbleDetail