Tool interfaces work!

This is going to take a really long time to finish, and asm is making me cry. Still have to make the other tool classes, and plenty of things left to do (effectivety on tools etc.)