Model Driven Visual Programming for Serious Games