A lot of refactoring around abilities. Needs cleanup, but minimally functional