Cleaned up metadata. Common meta fields are abstracted away through metaprogramming. There are better support for different params inside used by using methods. Cleaning up some aliases. Adding integration tests.