Added a generic stack implementation using void*