Broke abigail.ts out into separate files

Easier to maintain and navigate.