Small bug fix with abstract key class and added a little more inline docs