codegen: move to template oriented concept

Change-Id: I999f64d74f09a813d16ec5877efa8a4949db18c2
Signed-off-by: Michael Pasternak <mpastern@redhat.com>