Having deleted the old classes and preparing for a new Manager class that was missing before
That's not refactoring. That's deleting code and rewriting it.
How do my types relate? Or: How do I want my types to relate?
That's up to you. Decide which are the lower level types and which are the less low level ones that will depend on them. How you decide that depends on which bits will change most, which bits are most generally applicable, and which bits do you expect to extend most.
Anyways, how do you guys do it? Do you just jump in and program it? Or do you plan it out?
Go read Martin Fowler's 'Refactoring' book - what you're doing is not refactoring, you're throwing it out and starting again. That's exactly the wrong thing to do and ignores all the good stuf you get when you refactor things properly. Refactoring should be a sequence of small, simple operations that move you towards a better design.
As an aside, monolithic 'Manager' classes are almost always bad design, and something you should refactor away from, not towards.