monitor: making obj non-mutable makes more sense