At first, its a little confusing (just like other engines). But then, you know how to do things. I think it's a great start for a good engine! But I have a suggestion. Maybe you should separate the engine to 2 parts. The editor (Where you control parameters, move objects, etc) and the game window (where you play). Also, exporting games with the CSharpCodeProvider could be awesome. Good job!