Use mix-ins for factory methods