Added callback attribute to reduce code duplication.
Made use of CallbackAttributes and added simple casters.

Might move the casters to the transformation sub-package later.
Added test covering trivial edge case.
Network patterns (IP, MAC, hostname, URI) with tests.