Extract Service Objects

ref #267
Merge pull request #303 from kmiyake/iss-267_refactoring

Extract Service Objects