Is there a reason to have a single interface and implementation still?