feat(pkg): separate components, use requisites and add clean
states
#48
+162
−56
clean
states
#48