Refactor sail to use OptionsInitializer and calculate on construction