Added new model classes and updated AbstractPiece methods.