Moved to a less abstract architecture with better type safety.
Removed some bad ideas.
Refined the array.
Polished the most important parts.
Brought back some files.
Changed minor details.
Brought back some files.