Very interesting approach, It sounds kind of repetative despite you haveing lots of differant variations. I think you should try doing fugue type bits where the first part is repeated by a voice lower on the keyboard while the melody expands in the leading voice, this can extend parts and gives other parts more dramatic differances.
In case you have never heard a fugue, here is and example. Listen to how the second voice picks up the same melody as the first voice had.
Just a suggestion It's great mix as it is though, no biggy.