Made use of NiceMock where alot of over-enginered testing was required.