If you're going to write a large component of a system, always write an interface even if it has one implementation.