Begin refactoring to cleaner __init__