added a new callback for saving objects that can take arguments. Added an enum that represents the result of joining a game