would be nicer to have `initialize_memory` that sets the ivar and just have `memory` method to just return the ivar, IMHO