I think I might have already mentioned using a callback here rather than conditional code...