Almost completed basic cleanup

* Keepers have been abstracted to a more uniform baseclass reducing repeition and increasing uniformity