Added Deck class to separate "model" code from "controller"