moving things around, cleaning things up, added in Bukkit/Spout support
(untested)