The first question that I have for you if why do you want to create your own implementation?
You can adapt the current one if doesn't fits your needs and we can help you with that. If you want to create your own service you can and then using a workItemHandler you will need to create the connectors to talk with your new service as any other WorkItemHandler communication with an external service. But once again, why do you want to do that?
Cheers