Interfaces refactored to be more abstract, setter methods has Object parameters.

First JUnit definition