Component design. Visible component, which can be Animation or Texture
Refactor VisibleComponent. Add touch component.
Update fix.