Refactored namespace & structure, made classes slightly more reusable. Probably more to do on both.