splitting off InstanceModel from PipelineModel