Peregrine Interview Question

Design models and interfaces for a chess program.