P.S: Strategy does need access to the state of the SomeClass. So can't make it static.Another option is to have Strategy as an interface and then inject a concrete Strategy inside the SomeClass constructor but at the moment I do not see this particular Strategy interface being used by another class. So thought of the first approach. However,if I do take the first approach how would I have my class work seamlessly with multiple strategies?