Implemented a Date class (which is somehow stolen from Java's date
object)
Moved protocol implementations