Added @map and cleaned up the other decorators

Resolves #18