Update documentation, allow to customize getters/setters, add a registry for user, move CustomSource annotation to Source