Need to ponder on the strategies implementation - as subclasses or fields.