Swift external observer mechanism