Refactored Domain Classes And Contexts

Refactored the domain classes, and created a BaseContext to the use of
BoundedContext in the project