Consistent create methods for tags (fixes #257)

please take a look at the validation carefully, conceptually I might forgotten something.

thanks
so I personally like this style, but we had a discussion about it and the consensus was not to do it this way, but:
```this->position(position);```
thus leaving away the ```_```, also in the parameter list