a lot of update on architecture. First, the Named base trait is no longer needed. Second, added explicit type of Option at places where an access out of bound may occur. Not Try because Minecraft won't handle the exception gracefully and it doesn't provide any debug info to me. Third, the names array of Named trait is Vector not Iterable because I can't think of places where other Iterables are useful. Last but not least, added -feature argument to the compileScala task so that feature warnings are visible. This time I explicitly import implic conversion by feature suggestion.