refactor out withCurrentTime to CurrentTime trait
refactor saveOrUpdate example