How do I make the title of the following widget editable?

Use This

 <?php


    class Game_Info_Widget extends WP_Widget {

        /**
         * Register widget with WordPress.
         */
        public function __construct() {
            parent::__construct(
                    'game_info_widget', // Base ID
                    'Game - Info', // Name
                    array('description' => __('Game - Info', 'text_domain'),) // Args
            );
        }

        /**
         * Front-end display of widget.
         *
         * @see WP_Widget::widget()
         *
         * @param array $args     Widget arguments.
         * @param array $instance Saved values from database.
         */
        public function widget($args, $instance) {

            if (!is_singular('games')) {
                return;
            }

            extract($args);
            $title = $instance['title']; 
        //apply_filters( 'widget_title', $instance['title'] );

            echo $before_widget;
            if ( ! empty( $title ) )
            echo $before_title . $title . $after_title;
            //echo __( 'Hello, World!', 'text_domain' );


            $templates = array();

            $templates[] = "game-info.php";


            // Backward compat code will be removed in a future release
            locate_template($templates, true);

            echo $after_widget;
        }

        /**
         * Sanitize widget form values as they are saved.
         *
         * @see WP_Widget::update()
         *
         * @param array $new_instance Values just sent to be saved.
         * @param array $old_instance Previously saved values from database.
         *
         * @return array Updated safe values to be saved.
         */
        public function update($new_instance, $old_instance) {
            $instance = array();
            $instance['title'] = strip_tags($new_instance['title']);

            return $instance;
        }

        /**
         * Back-end widget form.
         *
         * @see WP_Widget::form()
         *
         * @param array $instance Previously saved values from database.
         */
        public function form($instance) {

              if ( isset( $instance[ 'title' ] ) ) {
              $title = $instance[ 'title' ];
              }
              else {
              $title = __( 'New title', 'text_domain' );
              }


              ?>
              <p>
              <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
              <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $instance['title']; ?>" />
              </p>
              <?php

        }

    }
?>