wrap card view model constructors in angular factories

Addresses #12