added a bunch of classes and refactored methods
Played around with a lot of classes...
Finally fixed the problem of circular referencing when it comes to
marshalling bi-directional bound ORM objects. Usingg
@JsonManagedReference and @JsonBackReference did the trick