Using Abstract Models for reusable Model features