Added mockito.
Added more design.