Adds ability to add custom tasks

I wanted to write some custom tasks without losing upstream compatibility, but I need access to all that config. First pass, not married to this approach but felt like it'd be more productive to send a pull.