made smilley enum abstract instead of Overriding ;-)
added maven support still not complete