Added ID member + static_cast pattern for 'dynamic' casting of Models.