Separated Decoder from Encoder and removed the Encoder method from the Rest interface
Added validator interface that aspect types implement