ServiceObject pattern