Simplified the interface and added in the idea of medium (Enum in Java and Enumeration in Scala)