General cleanup

Refactored a number of components to be a little cleaner