Add separated implementation of ExperimentModel