Implememnted create design use case
Added equals and hashcode
Refactoring model hierarchy to remove duplicate code
Added tests for system controller