extracted repository manipulation concerns to RepositoryHandler