Move initializers to protocol