refactor CachedCard

Ticket

+commit
 

Current the Card model and CachedCard model are two separate systems with tons of duplication.  Issues include:

  • lack of a clear, primary api
  • no access to important Card methods via CachedCard (eg, this can cause issues using the change view on cached cards)
  • double development of new functionality (many costs to developer efficiency)
  • confusion about treatment of phantom cards, virtual cards, etc.

 

integrate them.  add design ideas here!

 

 

done. any bugs should be ticketed separately.