Initial version

Depends on pallet.crate.service support in pallet core