Fleshed out some classes and methods a bit.