Use custom init for operation and switch properties to readonly