Initial implementation of messaging. May have issues with socket connections, still looking into.