 public typealias Recipient = AnyObject
 
 /**
-A class for sending messages of type T to the registered recipients. Built to be 
-a thread-safe, type-safe NSNotificationCenter replacement. Can also be a 
-replacement to many types of delegate callbacks.
-*/
+ A class for sending messages of type T to the registered recipients. Built to be
+ a thread-safe, type-safe NSNotificationCenter replacement. Can also be a
+ replacement to many types of delegate callbacks.
+ */
 public class MessageRouter<T> {
     public typealias MessageHandler = T->()
+    public typealias NoParameterHandler = ()->()
     
     /// The current list of recipients.
     private var entries = [MessageRouterEntry<T>]()

    // MARK: - Helpers
    
    /**
    Convenience method for getting a copy of the entries. This is intended only 
    for testing. Since `entries` is private, it isn't visible to tests, even with 
    the `@testable` keyword.
    
    - returns: A copy of the registered recipient entries.
    */
    internal func copyEntries() -> [MessageRouterEntry<T>] {
        var entries = [MessageRouterEntry<T>]()
        

    private let queue = dispatch_queue_create("com.robertbrown.Atoms.Messaging", DISPATCH_QUEUE_SERIAL)
    
    /**
     Ensures that critical code is run synchronously.
     This function must be called before accessing `entries`.
     
     - parameter function: The function containing the critical code.
     */
    private func sync(function: ()->()) {
        dispatch_sync(queue, function)
    }
