title: Kivy (Python) problems with reassigning "source" property
body: <p>I have a class with the method, that changes the image of ImageButton when <em>on_press</em> and <em>on_release</em>.</p>
  <p>It looks like that and it works:</p>
  <pre><code>class MainMenu(Screen):
      def new_game_button_press(self):
      self.ids.new_game_button.source = &quot;img/ui/new_game_press.png&quot;
  
      def new_game_button_release(self):
      self.ids.new_game_button.source = &quot;img/ui/new_game.png&quot;
  </code></pre>
  <p><em>I wanted</em> to rewrite it into the kivy (.kv) file just for clarity and to avoid repetition in the .py file itself.</p>
  <p>Here is my .kv file:</p>
  <pre><code>&lt;MainMenu&gt;
  name: &quot;MainMenu&quot;
  
  FloatLayout:
      size: root.width, root.height
  
      CoverImage:
          source: &quot;img/fgo_wl.png&quot;
  
      ImageButton:
          id: new_game_button
          source: &quot;img/ui/new_game_hover.png&quot; if self.hovered else &quot;img/ui/new_game.png&quot;
          pos_hint:{'x': .77, 'y': .65}
          size_hint:(.25, .115)
  
          allow_stretch: True
          keep_ratio: True
          mipmap: True
  
          on_press:
          # root.new_game_button_press()
          source: &quot;img/ui/new_game_press.png&quot;
          on_release:
          source: &quot;img/ui/new_game.png&quot;
          # root.new_game_button_release()
  </code></pre>
  <p>So, my problem is when I am reassigning the ImageButton &quot;source property&quot;, actually my image of Button <strong>image doesn't change</strong>... (indentation in kivy code example during copy-paste to this post was broken, don't pay attention)</p>
  <pre><code>on_press:
      source: &quot;img/ui/new_game_press.png&quot;
   on_release:
      source: &quot;img/ui/new_game.png&quot;
  </code></pre>
  <p>Is there a way to solve this problem in Kivy's way (or it's just my impracticable wish)?</p>