I think it was the "studio_view" that actually produced the bug this was covering. store.save_xmodule(component) is only called in studio_view clause.