Overlooked: using interfaces over implementation