Made plugin more MVC like (still some violations), added Observer, added validation callback to input field and form