In the first 30 years or so of the dynamic storage allocation history, people focused on allocation speed and memory fragmentation, for these were the dominant operations. While both goals still persist today, in the last decade the ever-increasing memory latency gap has been emerging as another dominant goal. To address this goal, new allocation strategies need to be further explored. Nonetheless, experimenting with new allocation strategies can be a daunting task as programmers lack appropriate support. To address this issue, we present a formalism which generalizes the memory management and allocation problem. This formalism allows programmers to focus on the allocation strategies rather than implementation. We implemented this formalism as a generic library. This library is to memory allocation what the C++ Standard Template Library is to programming. With this library, we build two new allocators which exploit data locality and reduce the overall execution time and the memory usage, when compared to state of the art allocators . Their implementation required several lines of code which stands as testimony to the efficacy of our formalism.