Begin chargetower
Begin generalizing code to be shared by chargetower
Move and generalize choose-targets