Implemented “static allocation” version which uses no dynamic memory but instead uses static pools and a pair of book-keeping lists.