I'm in the midst of refactoring a project. I've recently read Clean Code, and want to heed some of the advice within, with particular interest in Single Responsibility Principle (SRP).Currently, there's a class called OrderProcessor in the context of a manufacturing product order system.This class is currently performs the following routine every n minutes:check database for newly submitted + unprocessed orders (via a Data Layer class already, phew!)gather all the details of the ordersmark them as in-processiterate through each to:perform some integrity checkingcall a web service on a 3rd party system to place the ordercheck status return value of the web service for success/failemail somebody if web service returns failconstantly log to a text file on each operation or possible fail pointI've started by breaking out this class into new classes like:OrderService - poor name. This is the one that wakes up every n minutesOrderGatherer - calls the DL to get the order from the databaseOrderIterator (? seems too forced or poorly named) - OrderPlacer - calls web service to place the orderEmailSenderLoggerI'm struggling to find good names for each class, and implementing SRP in a reasonable way.How could this class be separated into new class with discrete responsibilities? 
Naming a class that processes orders
naming;refactoring;class design