Added interfaces for a few classes
Added comments and rearranged code
Merge pull request #20 from ryanshawty/interfaces

Added interfaces for a few classes