passing whole object to factory
 extended by public method names