Define new Component specification API

Issue #31 resolved
Michael Ludwig
repo owner created an issue

Components will be defined in interfaces extending from Component. Component will mandate certain annotations to be applied to getters and setters. In many cases defaults gathered from naming convention will be sufficient.