Added some tests and fixed deserialization and serialization based on @JsonProperty