use Observation.parseValue instead of custom code