I was wanting to finish this guy up but I got really busy and couldn't. After waiting for the busy times to subside I decided to just post it up now and update later.
Please contact me if you would like to use this in a project. We can discuss the details.