Fixed custom metadata changed condition

1. Consume the event on the metadata object itself.
2. Differ all custom metadata values as arrays.
3. Added getters and setters for version attributes.