SardineFactory refactored to extend flexibility