This would work best in Java I think (:
I think it'll be awesome.