fromJsValue now catches json exception and returns Option[Customer]