Updated: Switched to Maven

Also, cleaned up code syntax and styling.

TODO: Add forwards and backwards compatibility.