Switched to using initializer lists in the constructors when reasonable