In a previous blog post I hashed out my thoughts on my current system, why I needed to change it and what I thought I should change it to. At that point my thoughts were going along the route of what kinds of structures I'd used back in Computer Science first year, and I immediately jumped for a li...