実装の詳細を隠すために、クラスクラスタパターンを使う ref: http://qiita.com/RyoKosuge/items/5145b6e25ed385c9cecb