'Instantiates class and passes back application object.
:param host: defaults to CONF.host
:param binary: defaults to basename of executable
:param topic: defaults to bin_name - \'cinder-\' part
:param manager: defaults to CONF.<topic>_manager
:param report_interval: defaults to CONF.report_interval
:param periodic_interval: defaults to CONF.periodic_interval
:param periodic_fuzzy_delay: defaults to CONF.periodic_fuzzy_delay
:param cluster: Defaults to None, as only some services will have it'

@classmethod
def create(cls, host=None, binary=None, topic=None, manager=None, report_interval=None, periodic_interval=None, periodic_fuzzy_delay=None, service_name=None, coordination=False, cluster=None):

    if (not host):
        host = CONF.host
    if (not binary):
        binary = os.path.basename(inspect.stack()[(-1)][1])
    if (not topic):
        topic = binary
    if (not manager):
        subtopic = topic.rpartition('cinder-')[2]
        manager = CONF.get(('%s_manager' % subtopic), None)
    if (report_interval is None):
        report_interval = CONF.report_interval
    if (periodic_interval is None):
        periodic_interval = CONF.periodic_interval
    if (periodic_fuzzy_delay is None):
        periodic_fuzzy_delay = CONF.periodic_fuzzy_delay
    service_obj = cls(host, binary, topic, manager, report_interval=report_interval, periodic_interval=periodic_interval, periodic_fuzzy_delay=periodic_fuzzy_delay, service_name=service_name, coordination=coordination, cluster=cluster)
    return service_obj
