Not to denigrate your hard work, but why not subclass or extend an existing module to do what you want done differently? It sounds like there is only one major complaint you have with the existing code base-- which to me means that there is no reason to rebuild the whole thing unless adding that one feature is likely to severely break the existing module.