Extending Probabilistic Programming Systems And Applying Them To Real-World Simulators