Simplify component registration + fix dependency resolution

closes #10