Re-worked some of the inner workings and added more flexibility for tables that don't use ID as the primary key. Docs to follow