Factory object generation.