Added ImmutableObject class to use Equals on all classes and reduce boiler plate code.