Testing interfaces and dependancy injection