Rearranged file structure and changed the way AbilityExecutor works.