Multiple implementations for a set of objects