An Erlang demonstration of different supervision strategies along with different initialization strategies and failure scenarios